Enhanced stall and recovery control system

ABSTRACT

An autopilot controller, for controlling a vehicle traveling in a fluid medium, designed for controlling the vehicle in any one of pre stall, stall and post stall regions. The autopilot controller provides an approach for one-to-one mapping between a target command which is received and control surface deflections for effecting the command based on vehicle normal force and vehicle moment response characteristics. In one embodiment, the autopilot controller determines linear functions representative of the vehicle dynamic response for the current operating conditions in order to determine a direction of change of fin deflection for effecting the command. In another embodiment, the autopilot controller controls transverse vehicle accelerations by controlling a body pitch moment generated by a control surface.

RELATED APPLICATIONS

This application is related to U.S. Provisional Patent Application Ser. No. 60/139,412 filed Jun. 16, 1999.

FIELD OF THE INVENTION

The present invention relates to an autopilot controller, and to a method, for controlling a vehicle, and more particularly, an autopilot controller for controlling a vehicle traveling in a fluid medium, in any one of pre-stall, stall and post stall regions.

BACKGROUND OF THE INVENTION

Vehicles such as aircraft, missiles, drones, etc. (hereafter referred to as “aircraft” or “vehicles”) are generally provided with a flight control system so that the orientation of the vehicle during flight can be controlled along the three principle axes, namely, yaw, pitch, and roll. The pitch axis, which in an aircraft extends along the wingspan, defines a degree to which the nose of the vehicle is pointed above or below the horizon. The roll axis extends along the length of the aircraft and defines the degree to which the wings of the aircraft are banked. The yaw axis is perpendicular to both the pitch axis and the roil axis.

The control system provides a means for varying the orientation of the aircraft during flight so that, for instance, the wings can be banked to change a direction of flight, or the nose can be raised or lowered to change the altitude. In one type of conventionally configured aircraft, the control system can include: ailerons for controlling the roll angle (bank) of the aircraft in response to a rotation of a control wheel; an elevator for controlling the pitch angle of the aircraft in response to a pushing or pulling on the control yoke; and a rudder for controlling the yaw angle of the aircraft in response to an input to the control pedals.

Other aircraft and other types of vehicles can employ different control devices such as canards, rotatable fins or wings, spoilers, moveable tail surfaces, etc., to affect the orientation of the vehicle.

While aircraft can be controlled via the control system by a human pilot (often referred to as “man-in-the-loop”), aircraft can also be controlled for a portion of a flight, or for an entire flight, by an autopilot system. In the autopilot situation, the autopilot—as opposed to a human pilot—manipulates the control surfaces in order to control the orientation of the vehicle in response to an established or inputted command. Examples of an inputted signal include, but are not limited to: a course guidance signal inputted to an autopilot, so that the autopilot can control the direction of flight so as to follow the heading or course set; an altitude hold/altitude capture input, so that the autopilot can control the altitude and/or the rate of change of the altitude of the vehicle; and a turn rate command, so that the autopilot will initiate a turn at a requested rate or acceleration amount.

Aircraft can also be controlled in a manner which is not purely manual or purely automatic but where a flight director is used. Where a flight director is used, the flight director receives a command signal from the autopilot which would normally be used to control the flight control elements. However, instead of controlling the flight control elements, the command signal controls the position of a flight director indicator on the pilot's attitude indicator or multi function display, which tells the pilot how to manipulate the flight control elements so that the aircraft flies according to a desired flight profile.

In the cases where an autopilot is used, the autopilot must interpret an inputted guidance or altitude command and, based on that inputted command, output a command for manipulating the flight control elements which is suitable for achieving the desired result. For instance, in response to a guidance command which requests a left turn at a 2 g rate, the autopilot must output a command for a particular control surface—or combination of control surfaces—instructing a direction and amount of control surface movement which is appropriate for achieving the requested 2 g left turn.

The autopilot will generally be implemented with some type of feedback which provides information pertaining to the operating status of the vehicle relative to the guidance command, so that the autopilot can determine when the desired result has been achieved or whether additional flight control manipulation is required to achieve or maintain the desired result.

FIG. 1 is a conceptual block diagram of an autopilot which is implemented as a control system with feedback. As shown, a guidance command is inputted to the autopilot controller 10, which interprets the command and outputs a control surface actuation or deflection command δ. The control surface actuation or deflection command δ is received by a device 12 such as a control surface servo or actuator, which in turn moves the control surface 14. Generally, the control surface 14 or the control surface actuator 12 will be equipped with a device, such as an encoder (not shown) which outputs the current position of the control surface. The output from the encoder is fed back to the autopilot controller 10 so that the autopilot controller 10 can determine the control surface/actuator deflection output δ based on the current position of the control surface 14.

The autopilot controller 10 determines the control surface response which is needed to accomplish the inputted command based, in part, on vehicle condition information which is fed back from, for insance, a sensor 16 on the vehicle. A difference, generally referred to as an error signal, between the feedback signal and the guidance command, is evaluated in order to determine the control surface response which is needed to accomplish the inputted command. Because both the actuation of the control surface as well as the response of the vehicle to the control surface actuation occur over a period of time, the error signal is continually monitored as the control surface is moved so that the autopilot controller can determine when the guidance command has been successfully performed. The autopilot controller determines that a guidance command has been successfully performed when the error signal goes to zero. So long as a non-zero error signal is received, that indicates a situation where the guidance commandei request has not yet been accomplished and/or where further control surface actuation may be required.

As an example, this general autopilot system can be described in the context of an autopilot for controlling the altitude of a vehicle where information from an altimeter (sensor 16) would be fed back to the autopilot controller 10. Thus, if a guidance command is inputted which requires a change in the altitude, a non-zero error signal will be generated so long as the current altitude is different from the requested altitude, and the autopilot controller 10 will output control surface commands to change the altitude of the vehicle. When the current altitude of the vehicle matches the commanded altitude, i.e., when the error signal becomes zero, the autopilot controller 10 will cease to output control surface commands or will output control surface commands appropriate to maintain the commanded altitude.

While the example above addresses only one aspect of the vehicle (altitude), it should also be appreciated that the autopilot can control pitch, roll, yaw, or other aspects. Additionally, a multi-axis autopilot can be employed where several of the aspects of the vehicle are simultaneously controlled.

Because, for a given command, the autopilot must output flight control commands which are appropriate for the vehicle on which it operates, each autopilot must, to some degree, be designed for, or tailored to, the specific vehicle for which it is intended.

In designing or tailoring the autopilot, not only must the types of control surfaces which are provided on the vehicle (and the aspect of the vehicle orientation which they effect) be comprehended, but also the vehicle response to varying degrees of control surface deflection need to be addressed so that the autopilot can respond to more or less aggressive maneuvers and so that the autopilot can limit the control outputs to those which will not over stress the vehicle. More sophisticated autopilots can also respond to an inputted command in different manners depending on the operating status of the vehicle at the time of the command. Specifically, depending on the airspeed, angle-of-attack, etc., the output from an autopilot can vary for a given input.

Thus, in order to design or tailor an autopilot for a vehicle, information about the dynamic behavior of the vehicle is generally required. One aspect of particular importance is the relationship between the angle of attack of the aircraft wing (or moveable fin or other type of control surface) and the amount of lift created. For a given airspeed, the lift created by an aircraft wing increases with an increasing angle of attack. A typical relationship between the amount of lift created as a function of the angle of attack is illustrated as curve 20 in FIG. 2. As can be seen from FIG. 2, from a zero angle of attack to some finite value, the lift coefficient versus the angle of attack is at least approximately linear (dashed line 22). For angles of attack beyond this finite value, the lift coefficient no longer increases linearly and at some point flattens and then begins to decrease. At the point where the lift coefficient curve reaches its maximum value, the angle of attack is so great that the airflow no longer conforms to the surface of the wing, thereby destroying, or substantially reducing, lift in a condition known as stall. In FIG. 2, the stall point is where the slope of the lift curve declines to zero and is designated the critical angle of attack α_(C). As can also be seen, any further increase in the angle of attack beyond the critical angle of attack α_(C) results in a reduction in the lift coefficient and a negative slope for the portion of the lift curve.

For convenience, FIG. 2 plots lift coefficient C_(L) which is related to the amount of lift produced by the wing or control surface. Specifically, the lift coefficient C_(L) for a given aircraft is normally defined as the ratio of the lift force (or weight of the aircraft) divided by the dynamic pressure Q times the wing reference areas. The dynamic pressure, in turn, is a product of the air density and the velocity.

When a wing stalls, not only is lift lost, which can result in the aircraft losing altitude and/or deviating from a desired direction, but also the associated control surface may cease to be effective for controlling the orientation of the vehicle. Thus, in the event of a stall, the altitude of the aircraft may drop and the orientation of the aircraft may be partially or wholly uncontrollable for the duration of the stall.

In some situations, a pilot may be able to reduce the angle of attack of the wing and recover from the stall; however, in other situations, such as where the aircraft is near to the ground, stall recovery cannot be accomplished before the aircraft impacts the ground. Accordingly, for both man-in-the-loop as well as autopilot based operations, there has been a general objective in the prior art of avoiding stall.

Avoidance of stall in practice can be difficult because the precise point at which the wing stalls is not only a function of the angle of attack, but also the airspeed, the load factor, and other variables. Furthermore, the angle of attack is the angle between the chord of the wing (i.e., a line from the leading edge to the trailing edge) and the wing's flight path. Accordingly, the angle of incidence of a wing can be affected by a change in the relative direction of the airflow, such as may occur due to turbulence or wind shear. Accordingly, when a wing is operating near its maximum lift, turbulence or wind shear may cause the critical angle of attack to be inadvertently exceeded with a stall unintentionally resulting. As a result, for both man-in-the-loop and autopilot base systems, stall is avoided not only by not purposefully exceeding the maximum angle of attack but by also maintaining an angle of attack safety margin so that turbulence or wind shear or other factors do not unexpectedly cause a stall.

While the lift versus angle of attack relationship as described above has been known, conventional autopilots have typically been able to control the vehicle only for the portion of the lift versus angle of attack region prior to the point of stall. Additionally, because the relationship between lift and angle of attack is nearly linear for a large portion of the angles of attack approaching the stall point, conventional autopilots often are based on the simplifying assumption that the relationship between lift and angle of attack is linear for all angles of attack.

The conventional autopilot assumption that the relationship between lift and angle of attack is linear for all angles of attack can result in controllability problems if stall should occur and can also result in improper control commands being generated during stall. Specifically, when stall occurs in the conventional autopilot feedback control approach, the force generated by the lifting surface decreases. However, in the case where the autopilot is attempting to command a control surface deflection for generating a greater force than the stalled lifting surface, the error signal will increase after stall and the autopilot will further increase the angle of attack of the lifting surface. While a further increase in the angle of attack would yield an increase in the force generated if the lifting surface were not stalled, if the lifting surface is stalled the further increase the angle of attack of the lifing surface actually worsens the stall condition by further reducing the lift generated. Further, as the autopilot inadvertently worsens the stall situation while attempting to increase the force generated, the resulting error signal will continue to grow larger, which suggests to the autopilot that a still greater angle of attack is required.

At least one known autopilot attempts to address the situation of stall by monitoring or estimating the angle of attack of the vehicle and for angles of attack where the coefficient of lift goes to zero or goes negative, a pseudo lift signal is generated and supplied to the autopilot control loop. The pseudo lift signal tracks the actual coefficient of lift characteristics of the vehicle over the angle of attack region where the response is linear. For the region of angle of attack where the lift rate goes to zero or goes negative, the pseudo signal continues to increase linearly. As a result, the autopilot feedback loop does not see the reduced lift signal from the sensor, and thus does not try to further increase the angle of attack in order to achieve the guidance command input. As a result, the control loop is prevented from inadvertently driving the vehicle further into a stall.

While the approach above tends to avoid stall, and prevents the control loop from inadvertently driving the vehicle further into a stall, this approach does not allow the vehicle to be effectively controlled near or at the point of stall.

On the other hand, because the amount of lift generated by the wing increases with increasing angle of attack, the maximum lift of the wing, and hence the maximum performance of the aircraft, is achieved when the wing is very near the point of stall. Operating a wing near the point of maximum lift results in vehicle performance benefits such as shorter takeoff distance, greater load carrying capability, and higher climb rate. Further, operating the control surfaces near the point of maximum lift results in faster, more aggressive turning capability and greater overall maneuverability. As a result, there has been an increasing interest in systems which will allow aircraft and other vehicles to be operated very near to the point of stall. Additionally, because turbulence or wind shear may cause the critical angle of attack to be inadvertently exceeded for a vehicle that is operating very near to the point of stall, there exists a need for an autopilot controller which can operate near the point of stall and also properly control the vehicle at and after the point of stall.

SUMMARY OF THE INVENTION

In view of the shortcomings of present autopilots, and in view of the desirability of operating a vehicle close to the point of stall, it is an object of the present invention to provide an autopilot controller which comprehends the non-linear vehicle aerodynamic response across the pre-stall, stall and post-stall regions so that correct control surface deflections can be commanded even where the wing or control surface is at or beyond the critical angle of attack.

It is another object of the present invention to provide an autopilot controller which comprehends the multi-axis, coupled, non-linear, vehicle aerodynamic response across the pre-stall, stall, and post-stall regions so that correct control surface deflections can be commanded even where the wing or control surface is at or beyond the critical angle of attack.

It is another object of the present invention to provide an autopilot controller which provides for a one-to-one mapping between a desired force command input and a corresponding wing or control surface deflection/angle-of-attack output.

It is another object of the present invention to provide an autopilot controller which controls vehicle aerodynamic response by controlling the moments which operate on the vehicle as a result of control surface actuations.

It is another object of the present invention to provide an autopilot controller which provides for a one-to-one mapping between a desired moment and a corresponding wing or control surface deflection/angle-of-attack output.

It is another object of the present invention to provide an autopilot controller which controls vehicle aerodynamic response for a portion of the flight envelope near the stall point by controlling the moments which operate on the vehicle as a result of control surface actuations, and which controls vehicle aerodynamic response for those portions of the flight envelope not near the stall point by controlling resulting normal forces operating on the vehicle as a result of control surface actuations.

It is also an object of the present invention to provide an autopilot which is capable of determining a pre-stall, a stall, and a post stall condition of the vehicle and of outputting appropriate vehicle control commands in response to the stall condition determination.

In order to achieve the above objects, one autopilot controller in accordance with the present invention includes a storage device for storing vehicle response data which is representative of the vehicle response across the pre-stall, stall, and post-stall regions. Input devices are provided for receiving current vehicle operating condition signals and a portion of the autopilot controller calculates an error signal which is indicative of a difference between the inputted command and the current vehicle operating condition. In outputting a control command for a given control surface in accordance with the error signal and the current vehicle operating condition, in the case where any one of several different control surface deflections for the given control surface, would be suitable to effect the commanded maneuver, the autopilot controller outputs only one control surface deflection for the given control surface.

In order to achieve the above objects, another aspect of the present invention provides an autopilot controller and a storage device for storing vehicle response data which is representative of the vehicle response across the pre-stall, stall, and post-stall regions. The data representative of the vehicle response includes data of the form of (∂C/∂δ, C_(intercept)) pairs which are a function of the vehicle operating conditions. A computing device computes a control surface deflection output in response to a commanded maneuver in accordance with a vehicle response characteristic of the form C=(∂C/∂δ)·δ+C_(intercept) where ∂C/∂δ is a rate of change, with respect to control surface deflection, of a force generated at the center of gravity of the vehicle at a current vehicle operating condition and C_(intercept) is a normal force intercept for a linear function which is tangent to a C force function at the current vehicle operating condition and which has a slope equal to ∂C/∂δ.

In order to achieve the above objects, another aspect of the present invention provides an autopilot controller and a storage device for storing vehicle response data which is representative of the vehicle response across the pre-stall, stall and post-stall regions. The data representative of the vehicle response includes data of the form of (∂C/∂δ, C_(intercept)) pairs which are a function of the vehicle operating condition. A computing device computes a control surface deflection output in response to a commanded maneuver in accordance with a vehicle response characteristic of the form C=(∂C/∂δ)·δ+C_(intercept) where ∂C/∂δ is a rate of change, with respect to control surface deflection, of a moment generated about the center of gravity of the vehicle at a current vehicle operating condition and C_(intercept) is a moment intercept for a linear function which is tangent to a C moment function at the current vehicle operating condition and which has a slope equal ∂C/∂δ.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present invention and its advantages will be readily apparent from the following Detailed Description taken in conjunction with the accompanying drawings. Throughout the accompanying drawings, like parts are designated by like reference numbers.

FIG. 1 is a conceptual block diagram of an autopilot which is implemented as a control system with feedback.

FIG. 2 is a chart illustrating a relationship between the lift generated by a wing, for a given airspeed, as a function of angle of attack.

FIG. 3A is an illustration of a vehicle and of a coordinate system defined relative thereto.

FIG. 3B is an illustration of a coordinate system depicting various forces, velocities and moments that may act on the vehicle in terms of the coordinate system.

FIG. 4A is a functional block diagram of an autopilot controller according to the present invention.

FIG. 4B is a block diagram of an autopilot controller according to the present invention.

FIG. 5 is a hardware diagram illustrating the transform of normal acceleration data to angle of attack and side slip angle data.

FIG. 6 is a diagram relating fin deflection angle to the angle of attack of a vehicle.

FIG. 7 is a diagram illustrating the nature and orientation of the vehicle dynamic response functions.

FIG. 8 is a chart illustrating a relationship between the normal force generated by a fin, for a given angle of attack and side slip angle, as a function of the angle of deflection of the fin.

FIG. 9 is a graphic representation of a multidimensional data surface representing normal force as a function of the angle of deflection of a fin and as a function of the angle of attack of the vehicle for a given side slip angle and a given mach number.

FIG. 10 is chart illustrating a relationship between a target normal force to be generated by a fin, and the plurality of fin deflection angles which are suitable for generating the target normal force.

FIG. 11A is a chart illustrating a linear function which is tangent to the normal force curve at current vehicle operating conditions.

FIG. 11B is a chart illustrating a second linear function which is determined during a second iteration of the fin deflection amount determining procedure.

FIG. 11C is a chart illustrating a convergence of target fin deflection amount to actual fin deflection amount.

FIG. 12 is graphic representation of a multidimensional data surface representing the derivative of the normal force function versus the angle of deflection of the fin and versus the angle of attack of the vehicle for a given side slip angle and a given mach number.

FIG. 13 is graphic representation of a multidimensional data surface representing the normal force intercept versus the angle of deflection of the fin and versus the angle of attack of the vehicle for a given side slip angle and a given mach number.

FIG. 14 is a chart illustrating the relationship between the normal force function and the body pitch moment function versus angle of deflection of the fin.

FIGS. 15A-15F illustrate the simulated response of a particular vehicle to a commanded bank-to-turn maneuver.

FIG. 16 illustrates the slope of the simulated response function C_(Z) and C_(m) for a particular vehicle for a commanded bank-to-turn maneuver.

FIGS. 17A-17D illustrate the simulated response of a particular vehicle to a commanded bank-to-turn maneuver.

FIGS. 18A-18B illustrate a gain factor which is varied with the magnitude of the error signal.

FIG. 19 is an illustration of the use of the force intercept value to determine a stall condition.

FIG. 20 is a block diagram of an autopilot controller according to the present invention which includes a stall detection and recovery device.

FIG. 21 is a diagram of the stall detection and recovery device of FIG. 20.

FIGS. 22A-22B are flow charts illustrating the operation of a preferred embodiment of the present invention.

FIGS. 23A-23H illustrate the simulated response of a particular vehicle to a maneuver using a dynamic controller in accordance with the present invention.

FIGS. 24A-24D illustrate the simulated response of a particular vehicle to a maneuver using a dynamic controller in accordance with the present invention.

FIG. 25 provides a comparison, for the maneuver illustrated in FIGS. 23A-23F and FIGS. 24A-24D, of the simulated control deflection commands which are outputted by each of a dynamic controller and a static controller in accordance with the present invention.

FIGS. 26A-26F illustrate the simulated response of a particular vehicle to a maneuver using a static controller in accordance with the present invention.

FIGS. 27A-27D illustrate the simulated response of a particular vehicle to a maneuver using a static controller in accordance with the present invention.

FIGS. 28A-28B illustrate, for a shorter time period, the simulated response of a particular vehicle to a maneuver that is shown in FIGS. 27A-27D.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

It will be useful to the understanding of the nature of the problem and the solution proposed by the present invention to first describe a coordinate system defined relative to the vehicle and the various forces, moments and velocities which may be necessary to address in order to define the motion and orientation of the vehicle during flight and in response to the commands from the autopilot controller of the present invention.

FIG. 3A illustrates a typical coordinate system which is defined relative to the vehicle. As noted previously, the orientation of an aircraft is typically defined in terms of the three principle axes, namely, yaw, pitch, and roll. The pitch axis extends along the wingspan of aircraft and is shown as the Y axis in the figure. The roll axis extends along the length of the aircraft and is shown as the X axis in the figure. The yaw axis is perpendicular to both the pitch axis and roll axis and is shown as the Z axis in the figure.

FIG. 3B illustrates various velocities and moments which apply to the vehicle in terms of the coordinate system depicted in FIG. 3A. In regard to the X axis, U refers to the velocity of the vehicle along the X direction, P refers to a roll rate of the vehicle rotating around the X axis, and L refers to a moment acting about the X axis. Similarly, in regard to the Y axis, V refers to the velocity of the vehicle along the Y direction, Q refers to a pitch rate of the vehicle rotating around the Y axis, and M refers to a moment acting about the Y axis. Similarly, in regard to the Z axis, W refers to the velocity of the vehicle along the Z direction, R refers to a yaw rate of the vehicle rotating around the Z axis, and N refers to a moment acting about the Z axis.

While not designated with labels, the vehicle can also experience a transverse acceleration along one or more of the X, Y and Z axes and can also experience a rotational acceleration about one or more of the X, Y, and Z axes.

1.0 First Embodiment of Present Invention

1.1 Autopilot Controller

A first embodiment of the present invention will be described with regard to FIGS. 4A and 4B. FIG. 4A is a functional block diagram of an autopilot controller according to the present invention. While the prior explanations of autopilot function were mostly in terms of an autopilot for controlling a single aspect of the vehicle, and while the present invention is also suitable for a single axis implementation, the preferred embodiment of the present invention as shown in FIG. 4A is in a three axis implementation.

As shown in FIG. 4A, guidance commands, such as acceleration commands A_(Y) and A_(Z), are inputted to the autopilot controller 40. While the autopilot controller 40, can employ the acceleration commands A_(Y) and A_(Z) internally, these signals can also be transformed to angle of attack α_(CMD) and side slip β_(CMD) commands by the Y-Z to α-β converter 42 for processing in the autopilot controller 40. Signals from sensors 44 on the vehicle, which can include current vehicle acceleration data A_(Y ACT) and A_(Z ACT), as well as current vehicle body rate data P, Q and R, are also inputted to the autopilot controller 40 where they are also transformed to angle of attack α_(ACT) and side slip β_(ACT) measurements by the Y-Z to α-β converter 46. The commanded signals α_(CMD) and β_(CMD), and the signals corresponding to the current vehicle operating conditions α_(ACT) and β_(ACT) are compared in differencing device 48, and error signals ε_(α) and ε_(β) are generated corresponding to the differences between the current operating conditions of the vehicle α_(ACT), β_(ACT) and the inputted commands α_(CMD), β_(CMD).

The error signals ε_(α) and ε_(β) are inputted to a processing unit 50 which may include a processing unit 52 and a memory device 54. Also inputted to the processing unit 50 are the current positions of the various control surfaces δ_(1 ACT), δ_(2 ACT), and δ_(3 ACT) which are obtained from encoding devices 56 on the respective control surfaces. While three control surfaces are suggested by the present discussion and the illustration in FIG. 4A, the present invention is not limited to precisely three, and greater or fewer numbers of control surfaces can be presented on varying types of vehicles with the present principles applied thereto. Finally, additional sensor information, such as mach M data, as well as current vehicle condition information such as α_(ACT) and β_(ACT), can be inputted to the processing unit 50.

The processing unit 50, in a manner which will be more fully described later, interprets the current vehicle operating conditions and the presently measured amounts of the current error signals, and, based on stored information representing the vehicle aerodynamic responses and other factors, computes control deflections δ_(r CMD), δ_(q CMD), and δ_(p CMD) appropriate for effecting the inputted commands A_(Y) and A_(Z).

While the operation of the autopilot controller is described more filly later, for the present it should be noted, in regard to control deflections δ_(q CMD), δ_(p CMD) and δ_(r CMD) appropriate for effecting the inputted commands Ay and Az, that the suitable control deflections δ_(q CMD), δ_(p CMD) and δ_(r CMD) are evaluated at a point in time and that the suitable control deflections can change over a period of time. This is because the autopilot controller operates in an iterative manner where the error signal is continually monitored and where control deflection commands are continually outputted so as to drive the error signal to zero.

While some vehicles will have one control surface which generally corresponds to changes in each of roll, pitch, and yaw, for other vehicles it is necessary to operate two or more control surfaces in concert to achieve a change in any one of roll, pitch and yaw. Accordingly, for this case, the autopilot controller 40 is also equipped with a fin mixing logic device 58, which can be implemented in software, which transforms the control deflections δ_(r CMD), δ_(q CMD), and δ_(p CMD) to control deflections corresponding to each of the controls on the vehicle control deflections δ_(1 CMD), δ_(2 CMD) and δ_(3 CMD).

While the autopilot controller 40 illustrated in FIG. 4A is depicted as having a plurality of internal components, all of the functions may also be implemented in software running on a single (or a plurality) of processing devices. Thus, the present invention can also be implemented as shown in FIG. 4B.

In FIG. 4B, the autopilot controller 40 is shown implemented by a CPU 52 in conjunction with a memory 54, input ports 55, and output ports 57. While the memory 54 is shown as a separate block from the CPU 52, the memory 54 can optionally be separate from CPU 52 or can actually be located on the same integrated circuit chip. Similarly, input ports 55 and output ports 57 can also be part of, or separate from, the CPU 52. The CPU 52 can be any one of a variety of standard or custom processing devices, such as microcontrollers, microprocessors, or digital signal processors, so long as the processing throughput and speed are adequate to calculate the necessary control surface deflections on a real time basis. The speed at which control surface deflection commands are required to be generated to control a given vehicle is a function of the time constant of the vehicle, the stability (or instability) of the vehicle, and other factors.

The first embodiment shown in FIG. 4A illustrates a data transform between normal accelerations A_(Y) and A_(Z), as well as current vehicle body rate data P, Q and R, to angle of attack α and side slip β by Y-Z to α-β converter 46. While the present invention is not limited to such an implementation, the preferred embodiment of the invention preferably uses angle of attack α and side slip β data internally for convenience. Apparatus suitable for performing the transform, is illustrated in greater detail in FIG. 5. As shown in FIG. 5, A_(Y ACT) and A_(Z ACT) signals from sensors 44 on the vehicle, as well as current vehicle body rate data P, Q and R, are inputted to the autopilot controller where they are also transformed to angle of attack α ACT and side slip β_(ACT) signals by the Y-Z to β-β converter 46. The Y-Z to α-β converter 46 calculates the Euler angles (φ, θ, ψ) using quaternions with body rates. Then, using both the Euler angles as well as the original sensor data, the angle of attack α and the side slip β are estimated by integrating the following equations:

dα/dt=A _(Z) /U+Q−Pβ+(g/V _(T))cos(θ)cos(φ)+(F _(X)/(m·V _(T)))α  (1a)

dβ/dt=A _(Y) /U−R+Pα+(g/V _(T))cos(θ)sin(φ)+(F _(X)/(m·V _(T)))α  (1b)

where U is the vehicle airspeed, g is the gravitational constant, m is the mass of the vehicle, F_(X) is the net force action along the X-axis, and V_(T) is the total velocity of the vehicle.

While the performance of a wing or a control surface can be easily described in terms of the lift coefficient of the wing versus the angle of attack as previously discussed and as shown in FIG. 2, the overall effect from a control surface on the vehicle can be conveniently described in terms of a force acting at the center of gravity of the vehicle as a result of the operation of the control surface, or alternatively as a moment acting about the center of gravity as a result of the operation of the control surface.

Also, in the case of a control fin which is rotatably mounted on the vehicle, the angle of attack of the control fin is a function of both the angle of attack α of the vehicle and of the angle of deflection δ of the control fin. FIG. 6 illustrates a vehicle 30 having a rotatable control fin 31. The angle of attack α of the vehicle is defined as the angle between the longitudinal axis (axis) of the vehicle and the velocity vector of the vehicle V. The angle of deflection δ of the control fin is defined as the angle of deflection of the control fin relative to the longitudinal axis (axis) of the vehicle. As a result, the angle of attack of the control fin is equal to the sum of the vehicle angle of attack α and the angle of deflection δ of the control fin.

As noted above, the overall effect from a control surface on the vehicle can be described in terms of a force acting at the center of gravity of the vehicle or as a moment acting about the center of gravity of the vehicle. In order to fully describe the three dimensional aerodynamic effects on a vehicle, using this approach, the following force and moment functions are identified:

C_(N)=Normal force;

C_(Y)=Lateral force;

C_(A)=Drag force;

C_(m)=Body pitch moment;

C_(l)=Body roll moment; and

C_(yn)=Body yaw moment.

The orientation of each of the above force and moment functions is illustrated in FIG. 7 relative to the previously defined coordinate system. As shown in FIG. 7, each of the force functions is illustrated as acting at the center of gravity of the vehicle. Similarly, each one of the moment functions acts about one of the axes. The amount of force or moment generated will generally be a function of the vehicle physical characteristics, including the position of the fin relative to the center of gravity, and will also be a function of several flight-condition variables which can include, the angle of attack of the vehicle α, the angle of deflection of the control fin δ, the vehicle mach M, and the vehicle side slip angle β, as well as possibly other factors. As an example, FIG. 8 illustrates a force C_(N) acting at the center of gravity in a negative Z direction as a result of a deflection δ of fin 31. While, for a given vehicle, the amount of force C_(N) generated at the center of gravity of the vehicle is a function of several variables, for a given angle of attack of the vehicle α, vehicle mach M, and vehicle side slip angle β, the force C_(N) can be plotted as a function of the angle of deflection δ of the control fin in a manner similar to the plot of the coefficient of lift versus the angle of attack which was previously discussed and which is shown in FIG. 2. While each force and moment can be written so as to expressly indicate that it is a function of a plurality of variables, such as C_(N)(α,β,M,δ), for simplicity of expression, each force and moment function is generally written herein without the variables expressly recited. Additionally, as will be addressed more fully later, the force and moment functions are coupled, which is to say that actions and reactions in one function affect other functions.

In FIG. 8 curve 60 is a plot, for a given vehicle, of the normal force C_(N) generated at the center of gravity of a vehicle as a function of the angle of deflection δ of the control fin, for a given angle of attack of the vehicle α, vehicle mach M, and vehicle side slip angle β. Like the plot of coefficient of lift versus angle of attack, the normal force C_(N) generated versus angle of fin deflection is at least approximately linear (dashed line 62) from zero fin deflection angle to some finite value less than stall. For fin deflection angles beyond this value, the normal force C_(N) no longer increases linearly and at some point flattens out and then begins to decrease. At the point where the normal force C_(N) curve reaches its maximum value, the angle of attack of the fin is so great that the airflow no longer conforms to the surface of the wing and stall occurs. In FIG. 8, the stall point is where the slope of the normal force C_(N) curve is zero and is designated the critical fin deflection angle δ_(C). Any further increase in the fin deflection angle δ beyond the critical fin deflection angle δ_(C) results in a reduction of the normal force C_(N) and in a negative slope of the normal force C_(N) curve. Because FIG. 8 illustrates the normal force C_(N) acting at the center of gravity of a vehicle, the point of stall on curve 60 can also be referred to as “body stall.” In contrast, because the curve illustrated in FIG. 2 depicts the coefficient C_(L) for a control surface (and not for the vehicle), the point of stall on curve 20 can also be referred to as “fin stall.”

The preferred embodiment of the present invention uses data corresponding to, or representative of, the C_(N), C_(Y), C_(A), C_(m), C_(l), and C_(yn) force and moment functions as a basis for determining control force outputs appropriate for achieving a given inputted control command. Specifically, for a given vehicle, a database of vehicle response is developed by determining values for each of the C_(N), C_(Y), C_(A), C_(m), C_(l), and C_(yn) force and moment functions across a range of possible operating conditions including the angle of attack of the vehicle α, the vehicle mach M, the vehicle side slip angle β, and the angle of deflection δ of the control fin(s). The database can be developed empirically, for example through wind tunnel testing, or analytically, for example by use of computational fluid dynamics.

An example of the results of the database development is illustrated graphically in FIG. 9. Specifically, for the example of the normal force function C_(N), a multi-dimensional surface is defined which represents the normal force that results from various operating ranges of the fin deflection δ and of the vehicle angle of attack α. The normal force function is also a function of the vehicle mach M and the vehicle side slip angle β; however a five-dimensional plot is not conveniently illustrated. Thus, the plot in FIG. 9 corresponds to the normal force C_(N) as a function of fin deflection δ and of vehicle angle of attack α for a given value of vehicle mach M and a given value of the vehicle side slip angle β. The complete database development results in a plurality of aerodynamic “surfaces” which define the vehicle response for each of the C_(N), C_(Y), C_(A), C_(m), C_(l), and C_(yn) force and moment functions across a range of operating conditions. Here, the term aerodynamic “surface” refers to the three dimensional data representation of the force or moment function.

While the preferred embodiment of the present invention contemplates the development of a database of vehicle response for each of the C_(N), C_(Y), C_(A), C_(m), C_(l), and C_(yn) force and moment functions across a range of operating conditions, a simplified vehicle model can be used for a one or two axis controller where fewer force and moment functions will be required for the vehicle response database.

A problem that has been recognized by the present inventor in controlling a vehicle across both pre stall and post stall regions, and which is addressed by the present invention, is described next in reference to FIG. 10. FIG. 10 is a normal force C_(N) versus fin deflection angle δ diagram for a given vehicle angle of attack α, mach M, and vehicle side slip angle β. Referring to FIG. 10, while the normal force generated by the fin reaches a maximum value at the critical fin deflection angle δ_(C), the fin also continues to produce a normal force beyond the critical fin deflection angle δ_(C). In controlling the vehicle in response to an inputted command, the autopilot controller 40 may receive, for instance, a command to increase normal acceleration A_(Z), i.e., a pull-up command. To accomplish the requested increase in normal acceleration A_(Z), the autopilot controller 40 must output fin commands suitable to induce a normal force C_(N TARGET) having a value representative of the requested normal acceleration A_(Z). However, as shown in FIG. 10, if both the pre stall and post stall regions are considered, there are two different fin deflection values for a given amount of normal force which may be desired. More specifically, in the case where a desired normal force C_(N TARGET) is to be obtained, fin deflection angle δ₁ and fin deflection angle δ₂ are each suitable for producing the target normal force C_(N TARGET). While either fin deflection angle δ₁ or δ₂ would yield the desired normal force C_(N TARGET), the fin deflection angle δ₁ corresponds to an unstalled condition of the fin while the fin deflection angle δ₂ corresponds to a situation where the fin is past the point of stall, i.e., in the post stall region.

The stall condition of the fin at each deflection angle can be determined in reference to FIG. 10 by observing that the fin deflection angle δ₁ corresponds to a rising portion on curve 60 at an angle of deflection less than the critical fin deflection angle δ_(C), while the fin deflection angle δ₂ corresponds to a falling portion on curve 60 at an angle of deflection greater than the critical fin deflection angle δ_(C).

FIG. 10 shows a curve 60 which rises to a maximum value at the critical fin deflection angle δ_(C) and then falls off for greater fin deflection angles so that two fin deflection angles correspond to the target normal force C_(N TARGET). For some vehicles, however, the force or moment function for a given control surface may be more complicated than that shown in FIG. 10 and may have more than two fin deflection angles which correspond to a target value of the function C_(N).

In order to control the vehicle in response to an inputted command, the autopilot controller 40 must output a fin deflection angle which is suitable for effecting the inputted command. Thus, in the context of the example shown in FIG. 10, where more than one fin deflection angle would be suitable for effecting the inputted command, because only one fin deflection command can be outputted, the autopilot controller must have some mechanism for determining which one of the plurality of fin deflection angles which are suitable for producing the target normal force C_(N TARGET) should be outputted.

In operation the present autopilot continually monitors the error signal as the control surface is moved and continually updates the outputted fin deflection necessary for achieving the inputted command, i.e., for driving the error signal to zero. Accordingly, even though a particular fin deflection suitable for effecting the commanded maneuver may be outputted upon the initial receipt of the inputted command, as the vehicle responds to the fin deflection, and as the magnitude of the error signal or other operating conditions of the vehicle change, the outputted fin deflection may be updated. Thus, it should be understood in regard to the following discussion, that the operation of the present embodiment can be described in terms of the operation within a single iteration, while the overall control of the vehicle over time is achieved by a continual series of updates.

1.2 One-to-One Mapping

1.2.1 Slope Intercept Method of One-to-One Mapping

As noted above, in the situation where more than one fin deflection angle would be suitable for effecting the inputted command, the autopilot controller must have some mechanism for determining which one of the plurality of potentially suitable fin deflection angles should be outputted. Thus, the present inventor has recognized a need for a device or process in the autopilot controller to establish a one-to-one mapping between any force or moment received as an inputted command and a corresponding fin deflection which should be outputted for achieving the desired force or moment.

In a first aspect of the present invention, a one-to-one mapping is achieved by use of the database of vehicle response for at least a portion of the C_(N), C_(Y), C_(A), C_(m), C_(l), and C_(yn) force and moment functions, and in particular by evaluating the local slope of the functions at the current vehicle operating conditions and determining a fin deflection in accordance with the determined slope.

This approach is illustrated graphically in FIGS. 11A-11C. FIG. 11A is a normal force C_(N) versus fin deflection angle δ diagram for a given vehicle angle of attack α, a given mach M, and a given vehicle side slip angle β. The vehicle angle of attack α, mach M, and vehicle side slip angle β correspond to the current operating conditions of the vehicle at the time that the inputted command is received. As discussed earlier with reference to FIG. 4, the vehicle angle of attack α, the mach M and the vehicle side slip angle β are determined by a combination of on-vehicle sensors 44 in conjunction with the Y-Z to α-β converter 46. Also shown in FIG. 11A is a target normal force C_(N TARGET), corresponding to an inputted command, for which two fin deflections, δ₁ and δ₂, would be suitable to achieve the target normal force C_(N TARGET).

According to the present approach, given the current vehicle operating conditions, the present amount of deflection of the fin δ₀ can be determined on the vehicle response curve 60 (point 64 a) at the time that a inputted command is received. The autopilot controller, by use of the vehicle response characteristic functions C, determines a linear function 66 a which is tangent to the C_(N) curve at the current operating point 64 a which has a slope equal to the slope of the C_(N) curve at the current operating point 64 a. The slope of the C_(N) curve at the current operating point 64 a can be determined from the vehicle response functions C by taking the partial derivative of the C function with respect to fin deflection and then evaluating the derivative function at the current operating point, i.e., ∂C/∂δ. The linear function 66 a is of the form of:

C=(∂C/∂δ)·δ+C_(intercept)  (2)

where ∂C/∂δ is the slope of the C function at the current vehicle operating condition and C_(intercept) is the point where the linear function 66 a crosses the vertical axis. It should be noted that in Equation (2), as well as in other portions of this description, where any one of the C_(N), C_(Y), C_(A), C_(m), C_(l), and C_(yn) force and moment functions can apply, the function is expressed as C without any subscript character.

Having determined the linear function at the current operating conditions, the linear function is then used to determine the fin deflection to be outputted which is appropriate for effecting the inputted command. As will be explained further, the determined fin deflection to be outputted can be both a direction of change of fin deflection (i.e., increase or decrease) as well as an amount of change of fin deflection.

Alternatively, the determined fin deflection to be outputted can be only a direction of change of fin deflection (i.e., increase or decrease) relative to the present amount of deflection of the fin δ₀.

As shown in FIG. 11A, when the linear function is used, for any C_(N TARGET) there is only one fin deflection angle δ_(target a) which is appropriate for effecting the inputted command (see point 68 a). Thus, in the example in FIG. 11A, given the current operating condition (point 64 a), the autopilot controller would indicate an increase in fin deflection towards fin deflection angle δ_(target a) in order to effect the inputted command. As noted above, however, the present autopilot continually monitors the error signal and continually updates the outputted fin deflection as necessary for achieving the inputted command, i.e., for driving the error signal to zero. Accordingly, in the example in FIG. 11A, while the autopilot controller can initially indicate an increase of fin deflection toward deflection angle δ_(target a), even as the fin deflection angle is being changed, the autopilot controller will continually reevaluate the necessary fin deflection for achieving the inputted command.

A subsequent iteration for determining the necessary fin deflection is shown in FIG. 11B. In FIG. 11B, after the autopilot controller has initially indicated an increase of fin deflection toward angle δ_(target a), but prior to the fin reaching that deflection angle, the autopilot controller reevaluates the necessary fin deflection to achieve the inputted command. As shown in FIG. 11B, the current operating condition of the vehicle will have changed to δ_(NEW) (point 64 b). Accordingly, in order to determine an appropriate fin deflection to effect the inputted command, given the new current condition of the vehicle, a new linear function 66 b is determined. New linear function 66 b is tangent to the C_(N) curve at the new current operating point 64 b and has a slope equal to the slope of the C_(N) curve at the new current operating point. Then, as previously described in regard to the first iteration, the linear function 66 b is then used to determine the fin deflection to be outputted which will be appropriate for effecting the inputted command. As shown in FIG. 11B, when the linear function 66 b is used, for the given C_(N TARGET) there is only one fin deflection angle δ_(target b) which is appropriate for effecting the inputted command (see point 68 b). Thus, given the new current operating condition (point 64 b), the autopilot controller would now indicate an updated change of fin deflection towards fin deflection angle δ_(target b) to effect the inputted command. The iterative process is continued until the current operating condition of the vehicle and the inputted command are the same (i.e., until the error signal is zero).

As shown by the inwardly pointing arrows in FIG. 11B, the effect of the iterative process is to cause the current operating condition and the target fin deflection to converge towards the fin deflection δ₂ which is on the curve 60 and which is appropriate for effecting the commanded maneuver. The convergence over time of the current vehicle operating condition and the fin deflection necessary for effecting the commanded maneuver is further shown in FIG. 11C. In FIG. 11C the initial vehicle operating condition at the time the inputted command is originally received is shown as δ₀ which corresponds to point 64 a on curve 60. Three iterations of the above described process are shown which result in linear functions 66 a, 66 b and 66 c. For each of the iterations, the evaluation of the linear function indicates that a then current amount of fin deflection must be increased in order to effect the commanded maneuver. As the fin deflection is increased, the current vehicle condition moves from original point 64 a to point 64 b and finally to point 64 c. At point 64 c, the current vehicle operating condition and the target normal force C_(N TARGET) corresponding to an inputted command are equivalent and no further fin deflection is required to achieve the inputted command.

As noted above, the fin deflection command which is outputted as a result of the above described process can be both a direction of change of fin deflection (i.e., increase or decrease) as well as an amount of fin deflection, or alternatively, the fin deflection command can be only a direction of change of fin deflection (i.e., increase or decrease) relative to the present amount of deflection of the fin δ₀. These alternatives are explained next in reference to FIG. 11A. Referring to FIG. 11A, given the target normal force C_(N TARGET) and the current fin deflection δ₀, the use of the linear function 66 a which is tangent to the C_(N) curve at the current vehicle operating condition, can determine a target fin deflection appropriate for effecting the inputted command is determined to be δ_(target a). The determined fin deflection δ_(target a) is greater than the present fin deflection δ₀ by an amount Δδ=δ_(target a)−δ₀. Thus, one approach is for the autopilot controller to output a fin deflection command to increase the fin deflection by a Δδ amount. Thus, this command approach includes both a direction of change and an amount of change.

As an alternative, because changing the fin deflection takes a finite amount of time, and because the fin deflection for achieving the inputted command is iteratively updated, it is also possible to output only a direction of change of fin deflection (i.e., increase or decrease) without also outputting an amount of change. In this approach, the control surface actuator 12 responds to an outputted command by beginning a change of fin deflection in the commanded direction at a given rate of change. The nature of the command signal and the actuator are arranged so that the actuator continues to change the fin deflection at the given rate until the outputted command from the autopilot controller changes. Thus, at each iteration, the outputted command from the autopilot controller indicates whether the control surface actuator 12 should continue to change the fin deflection in the present direction, reverse the direction of change of fin deflection, or stop changing the fin deflection. Thus, in this approach, the outputted fin command indicates whether to increase, decrease, or stop changing the fin deflection amount so as to drive the error signal to zero. In order to avoid excessive oscillation, the stop condition can be achieved when the error signal is less than a threshold value in either direction.

As a variation on the above second alternative, the autopilot controller can be configured to output a direction of change of fin deflection (i.e., increase or decrease) together with a rate of change of fin deflection. Thus, for instance for large error signals, the speed at which the fin deflection is changed can be made a function of the error signal. Like the second alternative above, this approach does not require that an amount of change of fin deflection be outputted because the fin deflection will be either increased or decreased as necessary until the error signal is driven to zero. In order to avoid excessive oscillation, the stop condition can be achieved when the error signal is less than a threshold value in either direction.

As a variation on the first alternative, the autopilot controller can be configured to output a direction of change of fin deflection, an amount of fin deflection as well as a rate of change of fin deflection.

As will be appreciated from reviewing the above alternatives, each alternative requires at least that the direction of change of fin deflection (i.e., increase or decrease) relative to the present amount of deflection of the fin δ₀ be outputted.

As can be seen from FIG. 11C, while this iterative approach drives the error signal to zero by converging to one of the two fin deflections, δ₁ and δ₂ which are suitable for effecting the inputted command, it should be noted that according to the present approach, during each iteration there is only one fin deflection target amount determined. Accordingly, the problem previously presented of having two or more suitable fin deflection amounts without a means to choose among them is overcome by the present approach.

It should be noted that the above described approach is suitable when temporary or extended operation of the vehicle in a post stall region is not undesirable. As will be described in Section 4.0 of the present description, in the case where operation of the vehicle in the post stall region is considered undesirable, an additional embodiment of the present invention includes a stall detection and recovery device so that in the event of a stall, the outputted fin deflection commands will act so as to return the vehicle to the pre stall region.

As indicated above, the autopilot controller, by use of the vehicle response characteristic functions C, determines the linear function 66 in the form of C=(∂C/∂δ)·δ+C_(intercept). Accordingly, the autopilot controller must be supplied with data corresponding to at least a portion of the C_(N), C_(Y), C_(A), C_(m), C_(l), and C_(yn) force and moment functions so that the partial derivative of the C function with respect to fin deflection can be determined as needed.

In a first approach, data corresponding to the vehicle response functions are stored in the autopilot memory 54 so that the derivative of the C function with respect to fin deflection can be calculated as needed. In a second, and preferred, approach, data of the form of (∂C/∂δ, C_(intercept)), pairs, which are a function of the vehicle operating conditions, are stored in the memory for use as needed. In this approach, because the autopilot controller of the present embodiment does not use the C function data directly, storing only the (∂C/∂δ, C_(intercept)) pairs eliminates the need to calculate the derivative data as it is needed, thereby conserving processing capacity and additionally eliminating the need to store the C function data altogether. Thus, for a given vehicle operating condition including current fin deflection amount, the corresponding (∂C/∂δ, C_(intercept)) pair is read from the memory 54, and the linear function which is appropriate for the current operating conditions can be determined directly from the (∂C/∂δ, C_(intercept)) pair.

Whether data corresponding to the vehicle response functions is stored in the autopilot memory 54, so that the derivative of the C function with respect to fin deflection can be calculated as needed, or data of the form of (∂C/∂δ, C_(intercept)) pairs are stored in the autopilot memory 54, the data are processed by the processor 52 in conjunction with the various vehicle condition data, in order to determine the appropriate fin deflection to be outputted. In the case where data corresponding to ∂C/∂δ and to C_(intercept), as a function of the vehicle operating conditions are stored in the memory for use in the above described system, these data can be represented as multidimensional surfaces in a manner similar to the representation of the C_(N)(δ,α) surface shown in FIG. 9. Specifically, FIGS. 12 and 13 illustrate the ∂C_(N)/∂δ and C_(N intercept) multidimensional surfaces, respectively, which correspond to the C_(N)(δ,α) surface shown in FIG. 9.

One issue with the above approach occurs at the point of stall where ∂C_(N)/∂δ is zero. There, a singularity occurs in the vehicle dynamic response function. As will be described more fully later, according to a second aspect of the current invention, the vehicle can be controlled at, and near, the stall point by controlling the normal force C_(N) generated using calculations based on the body pitch moment C_(m) thereby avoiding the singularity in the C_(N) function at the stall point. As shown in FIG. 14, for a given angle of attack of the vehicle α, a given vehicle mach M, and a given vehicle side slip angle β, the body pitch moment C_(m) 70, in addition to the normal force C_(N) 60, can be plotted as a function of the angle of deflection δ of the control fin. It should be noted from FIG. 14 that while the normal force C_(N) curve 60 reaches a maximum at the critical angle of deflection δ_(C)—which corresponds to the point of stall—the body pitch moment C_(m) 70 curve does not reach a maximum until after the point of stall. Thus, the derivative of the body pitch moment C_(m) 70 curve with respect to fin deflection δ is not zero until well after the stall point.

Also as described more fully below, the vehicle can also be controlled based on a combination of the normal force C_(N) and the body pitch moment C_(m). Specifically, for vehicle operating conditions which are not near the stall point, the vehicle can be controlled based on the normal force C_(N). When the vehicle is near the stall point the basis of control can be switched and the vehicle can be controlled based on the body pitch moment C_(m).

In regard to FIG. 14, the sign (polarity) of the normal force C_(N) and the body pitch moment C_(m) are conventionally in opposite directions. However, FIG. 14 is shown with the C_(N) and C_(m) curves, that is curves 60 and 70 respectively, with the same sign so that the position of the zero slope point of each curve can be more easily compared.

1.2.2 Transform Method of One-to-One Mapping

As an alternative to the slope-intercept method of providing one-to-one mapping, it is also possible to obtain one-to-one mapping by applying different types of mathematical transformation to the force function. Specifically, what is needed is to transform the force function, which represents force as a function of fin deflection for a given set of vehicle operating conditions, to a mapping function which represents the opposite relationship, i.e., fin deflection as function of force of the form where there is only one fin deflection for any given force.

1.2.3 Look Up Method of One-to-One Mapping

An alternative to either the slope-intercept or the transform method of providing one-to-one mapping is a data look-up or search method based on a stall condition determination. In this approach, data from the vehicle response for each of the C_(N), C_(Y), C_(A), C_(m), C_(l), and C_(yn) force and moment functions across a range of operating conditions are first analyzed to determine the set of vehicle conditions which correspond to a stall condition. This can be understood by reference to FIG. 8. As shown in FIG. 8, for a given angle of attack α and side slip β, a fin deflection of δ_(C) corresponds to a stall condition. Thus, for a fin deflection greater than δ_(C) the fin is stalled, and for a fin deflection less than δ_(C) the fin is in a pre staff condition. Thus, for the range of vehicle operating conditions, a database can be constructed which shows δ_(C) as a function of operating conditions. Next, data from the vehicle response for each of the C_(N), C_(Y), C_(A), C_(m), C_(l), and C_(yn) force and moment functions across a range of operating conditions are divided into pre-stall and post stall categories. Then, based on the stall condition database and the divided force and moment functions, it is possible to provide one-to-one mapping between a desired force or moment and the corresponding fin deflection to achieve that force or moment based on a stall state determination.

Specifically, in order to provide a one-to-one mapping, the stall condition of the vehicle is determined based on the current vehicle operating conditions and the current fin deflection. If the fin is stalled, then only the post stall database of the force and moment functions is used to determine a target fin deflection for a desired force. Similarly if the fin is not stalled, then only the pre stall database of the force and moment functions is used to determine a target fin deflection for a desired force.

With reference to FIG. 10 this approach can be seen to provide one-to-one mapping. As seen in FIG. 10, each of two fin deflections, δ₁ and δ₂, would be suitable to achieve the target normal force C_(N TARGET). However, if the fin stall status is determined to be in a pre stall state, and thus if only the portion of curve 60 to the left of δ_(C) is considered, then only one fin deflection δ₁ is suitable to achieve the target normal force C_(N TARGET). Similarly, if the fin stall status is determined to be in a post stall state, and thus if only the portion of curve 60 to the right of δ_(C) is considered, then only one fin deflection δ₂ is suitable to achieve the target normal force C_(N TARGET).

The look up method of one-to-one mapping is likely to require greater memory and processing capacity in the autopilot controller than either of the slope-intercept method or the transform method. In view of the continuing decrease in the cost of memory and the continual improvement in processor capacity, the impact of the hardware requirements for the look up method of one-to-one mapping will decrease in significance.

While the prior explanations of the first embodiment of the present invention are mostly in terms of controlling the vehicle along a single axis, or in a single degree of freedom, the preferred embodiment of the present invention contemplates a three axis, fully coupled six-degree-of-freedom implementation. Accordingly, the following section 2.0 presents a second embodiment of the present invention where the fully coupled six-degree-of-freedom, nonlinear vehicle response functions for each of C_(N), C_(Y), C_(A), C_(m), C_(l), and C_(yn) are presented and the approach for achieving one-to-one mapping between an inputted command and a fin deflection angle suitable for effecting the command is derived. As will be appreciated by those of skill in the art, while the mathematical expressions are more extensive in the full six-degree-of-freedom implementation, the general principles of the present invention outlined above in regard to the first embodiment still apply.

2 Detailed Description of Preferred Embodiment of Multi-Degree of Freedom, Nonlinear Autopilot

The following section presents a detailed description of a preferred embodiment of the present invention as implemented in a multi-axis autopilot. Equation numbers for this section are local to this section. Accordingly, the first equation of this section begins with equation 1. The present embodiment is based on the fully coupled nonlinear equations of motions. As a result, the present embodiment provides for one autopilot control design which is capable of controlling a vehicle in any region of its flight mission trajectory.

Prior to describing the present preferred embodiment, it should be noted that because of the complex structure of the equations of motion's dynamics, i.e., the fact that the equations of motions dynamics do not satisfy either the matching conditions or the generalized matching conditions, traditional nonlinear autopilot design techniques cannot be applied to the six degreee of freedom (6DOF) equations of motion dynamics directly because of the dynamic structure of the 6-DOF equations of motions. However, according to the present invention, it is possible to design a successful nonlinear autopilot for the 6-DOF equations of motion. Two variations on the preferred embodiment are disclosed: one control design scheme yields a static controller (closed form solution) while the other results in a dynamic controller (solution of a nonlinear non-homogeneous ordinary differential equation) whose solution is calculated on line (on the fly).

The second nonlinear control design technique (dynamic) is simple yet powerful. This autopilot design called “Dynamic autopilot controller design” has been simulated for the 6-DOF equations of motion. Before proceeding with the dynamic controller design, a short summary of the advantages and disadvantages of nonlinear autopilot controllers is presented.

2.1 Benefits of Nonlinear Autopilot Controllers

For any autopilot control design, including the present preferred embodiment, there are always trade-offs in the design itself. The trade-offs are usually a compromise between system performance and robustness. The dynamic nonlinear autopilot should be considered for the following reasons:

1. A nonlinear controller can directly (on the fly) compensate for the coupled dynamics as well as the nonlinearity associated with the vehicle aerodynamics. There is no need for storing large gain scheduling tables. The gains of the nonlinear autopilot are of nonlinear and varying type, and are functions of the system error. The nonlinear gains are valid for all of the flight mission trajectory (after minor tweaking), thus there is no need to break the flight mission trajectory into separate phases.

2. Since the controller is provided with the nonlinear vehicle aerodynamics as feedback signals, the nonlinear autopilot can detect when a specific vehicle reaches or passes its stall condition/region and can compensate for such a condition by driving the system states away from the stalling region and thus recovering the vehicle. This is accomplished by feeding the controller the full nonlinear force/moment aerodynamic equations in which more fin deflection does not necessarily mean larger external forces/moments. That is, the autopilot controller will know, through feedback signals and the fact that nonlinear aerodynamic databases are being used in the feedback loop, that excessive fin deflection(s) actually reduces the external forces/moments on the vehicle body. In comparison, a linear autopilot design cannot compensate when a vehicle is in a stall region because a linear autopilot design assumes that more fin deflection translates into larger external forces/moments (linear slope) for all increasing values of angle of attack α. Again, utilizing a nonlinear controller can aid in obtaining high precision tracking and end game accuracy, especially if a vehicle needs to operate in proximity to the stall region.

3. In one approach, the nonlinear autopilot controller design is derived using a systematic procedure including few steps and without the need to decouple the equations of motions into inner/outer loops. This of course will decrease the control design time required to develop the nonlinear autopilot controller.

2.2 Dynamic Autopilot Controller Design

A nonlinear autopilot controller can be designed using the fully coupled nonlinear equations of motion. The equation that relates angle of attack α and vertical velocity W is given by; ${\alpha = {\tan^{- 1}\frac{W}{U}}},$

where U is vehicle velocity along the X-axis. Differentiating the above equation yields $\begin{matrix} {{\overset{.}{\alpha} = \frac{{U\quad \overset{.}{W}} - {W\quad \overset{.}{U}}}{U^{2} + W^{2}}},{{{where}\begin{bmatrix} \begin{matrix} \overset{.}{U} \\ \overset{.}{V} \end{matrix} \\ \overset{.}{W} \end{bmatrix}} = {\begin{bmatrix} \begin{matrix} {{\frac{1}{m}F_{X}} - {QW} + {RV}} \\ {{\frac{1}{m}F_{Y}} + {PW} - {RU}} \end{matrix} \\ {{\frac{1}{m}F_{Z}} + {QU} - {PV}} \end{bmatrix}.}}} & (1) \end{matrix}$

Variables F_(X), F_(Y), and F_(Z) are the resultant external forces. Substituting the above in equatons (1), results in: $\begin{matrix} \begin{matrix} {\overset{.}{\alpha} = \quad {{\left( \frac{U}{U^{2} + W^{2}} \right)\frac{F_{Z}}{m}} + {\left( \frac{W}{U^{2} + W^{2}} \right)\frac{F_{X}}{m}} +}} \\ {\quad {Q - {\left( \frac{UV}{U^{2} + W^{2}} \right)P} + {\left( \frac{WV}{U^{2} + W^{2}} \right){R.}}}} \end{matrix} & (2) \end{matrix}$

The following are relationships between (α, β) and vehicle velocities: ${{\cos \quad \alpha} = \frac{U}{\sqrt{U^{2} + W^{2}}}},{{\sin \quad \alpha} = \frac{W}{\sqrt{U^{2} + W^{2}}}},{{\tan \quad \beta} = \frac{V}{\sqrt{U^{2} + W^{2}}}},{{V_{T}\cos \quad \beta} = \sqrt{U^{2} + W^{2}}},{where}$ $V_{T} = {\sqrt{U^{2} + V^{2} + W^{2}}.}$

Combining the above terms into a form that can be used in equation (2), provides: ${\frac{U}{U^{2} + W^{2}} = \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta}},{\frac{W}{U^{2} + W^{2}} = \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta}},{\frac{UV}{U^{2} + W^{2}} = {\cos \quad \alpha \quad \tan \quad \beta}},{\frac{VW}{U^{2} + W^{2}} = {\sin \quad \alpha \quad \tan \quad {\beta.}}}$

Finally, substituting the above relationships in equation (2) yields; $\begin{matrix} \begin{matrix} {\overset{.}{\alpha} = \quad {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} +}} \\ {\quad {Q - {P\quad \cos \quad \alpha \quad \tan \quad \beta} - {R\quad \sin \quad {\alpha tan}\quad {\beta.}}}} \end{matrix} & (3) \end{matrix}$

Next, the dynamics for side slip angle , can be derived by differentiating: $\beta = {\sin^{- 1}{\frac{V}{V_{T}}.}}$

to obtain: $\begin{matrix} {{{\overset{.}{\beta} = {{\frac{1}{\sqrt{U^{2} + W^{2}}}\overset{.}{V}} - {\left( \frac{1}{\sqrt{U^{2} + W^{2}}} \right)\left( \frac{V}{V_{T}} \right){\overset{.}{V}}_{T}}}},{where}}{{\overset{.}{V}}_{T} = {\frac{1}{V_{T}}{\left( {{U\quad \overset{.}{U}} + {V\quad \overset{.}{V}} + {W\quad \overset{.}{W}}} \right).}}}} & (4) \end{matrix}$

Substituting dynamics {dot over (U)}, {dot over (V)}, and {dot over (W)} in equation (4), results in: $\begin{matrix} \begin{matrix} {\beta = \quad {{- \frac{1}{\sqrt{U^{2} + W^{2}}}}\left( \frac{V}{V_{T}^{2}} \right)\left\lbrack {{\frac{F_{X}}{m}U} - {QUW} + {RUV} + {\frac{F_{Y}}{m}V} -} \right.}} \\ {{\quad \left. {{RUV} + {PVW} + {\frac{F_{Z}}{m}W} - {PVW} + {QUW}} \right\rbrack} +} \\ {\quad {\frac{1}{\sqrt{U^{2} + W^{2}}}\left\lbrack {\frac{F_{Y}}{m} + {PW} - {RU}} \right\rbrack}} \\ {= \quad {{\left( \frac{\sqrt{U^{2} + W^{2}}}{V_{T}} \right)\left( \frac{F_{Y}}{V_{T}m} \right)} - {\left( \frac{U}{\sqrt{U^{2} + W^{2}}} \right)\left( \frac{V}{V_{T}} \right)\left( \frac{F_{X}}{V_{T}m} \right)} -}} \\ {\quad {{\frac{V}{V_{T}}\left( \frac{W}{\sqrt{U^{2} + W^{2}}} \right)\left( \frac{F_{Z}}{V_{T}m} \right)} - {\left( \frac{U}{\sqrt{U^{2} + W^{2}}} \right)R} +}} \\ {\quad {\left( \frac{W}{\sqrt{U^{2} + W^{2}}} \right){P.}}} \end{matrix} & (5) \end{matrix}$

Again, using the following relationships between β and vehicle velocities: ${{\sin \quad \beta} = \frac{V}{V_{T}}},{{\cos \quad \beta} = \frac{\sqrt{U^{2} + W^{2}}}{V_{T}}},$

and substituting the above relationships into equation (5), results in: $\begin{matrix} \begin{matrix} {\overset{.}{\beta} = \quad {{\cos \quad {\beta \left( \frac{F_{Y}}{m\quad V_{T}} \right)}} - {\cos \quad \alpha \quad \sin \quad \beta \left( \frac{F_{X}}{m\quad V_{T}} \right)} -}} \\ {\quad {{\sin \quad \alpha \quad \sin \quad {\beta \left( \frac{F_{Z}}{m\quad V_{T}} \right)}} - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}}} \end{matrix} & (6) \end{matrix}$

NOTE: A singularity occurs in equation (3) when side slip angle |β|≅90° or any multiple of 90°.

With the above dynamic equations in mind, a rigid body vehicle is governed by the following set of nonlinear dynamic equations of motion: $\begin{matrix} {\begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} \begin{matrix} {\overset{.}{U} = {{\frac{F_{X}}{m} + {VR} - {WQ} - {g\quad \sin \quad \theta}} = {\frac{F_{X}}{m} + {{RV}_{T}\sin \quad \beta} - {U\quad Q\quad \tan \quad \alpha} - {g\quad \sin \quad \theta}}}} \\ {\overset{.}{\alpha} = {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q - {P\quad \cos \quad \alpha \quad \tan \quad \beta} - {R\quad \sin \quad \alpha \quad \tan \quad \beta}}} \end{matrix} \\ {\overset{.}{\beta} = {{\frac{F_{Y}}{m\quad V_{T}}\cos \quad \beta} - {\frac{F_{X}}{m\quad V_{T}}\cos \quad \alpha \quad \sin \quad \beta} - {\frac{F_{Z}}{m\quad V_{T}}\sin \quad \alpha \quad \sin \quad \beta} - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}}} \end{matrix} \\ {\overset{.}{\varphi} = {P + {Q\quad \sin \quad \varphi \quad \tan \quad \theta} + {R\quad \cos \quad {\varphi tan}\quad \theta}}} \end{matrix} \\ {\overset{.}{\theta} = {{Q\quad \cos \quad \varphi} - {R\quad \sin \quad \varphi}}} \end{matrix} \\ {\overset{.}{\psi} = {\left( {{Q\quad \sin \quad \varphi} + {R\quad \cos \quad \varphi}} \right)\sec \quad \theta}} \end{matrix} \\ {\overset{.}{P} = {\frac{1}{I_{xx}}\left\lbrack {{\left( {I_{yy} - I_{zz}} \right){QR}} + {I_{xz}\left( {\overset{.}{R} + {PQ}} \right)} + {I_{xy}\left( {\overset{.}{Q} - {PR}} \right)} + {I_{yz}\left( {Q^{2} - R^{2}} \right)} -} \right.}} \end{matrix} \\ \left. \quad {{\overset{.}{h}}_{x} - {Qh}_{z} + {Rh}_{y} + L} \right\rbrack \end{matrix} \\ {\overset{.}{Q} = {\frac{1}{I_{yy}}\left\lbrack {{\left( {I_{zz} - I_{xx}} \right){PR}} + {I_{xz}\left( {R^{2} - P^{2}} \right)} + {I_{xy}\left( {\overset{.}{P} + {QR}} \right)} + {I_{yz}\left( {\overset{.}{R} - {PQ}} \right)} -} \right.}} \end{matrix} \\ \left. \quad {{\overset{.}{h}}_{y} + {Ph}_{z} - {Rh}_{x} + M} \right\rbrack \end{matrix} \\ {\overset{.}{R} = {\frac{1}{I_{zz}}\left\lbrack {{\left( {I_{xx} - I_{yy}} \right){PQ}} + {I_{xz}\left( {\overset{.}{P} - {QR}} \right)} + {I_{xy}\left( {P^{2} - Q^{2}} \right)} + {I_{yz}\left( {\overset{.}{Q} + {PR}} \right)} -} \right.}} \end{matrix} \\ \left. \quad {{\overset{.}{h}}_{z} - {Ph}_{y} + {Qh}_{x} + N} \right\rbrack \end{matrix} \\ {{\overset{.}{h}}_{x} = {\cos \quad \theta_{e}\cos \quad \psi_{e}{\overset{.}{h}}_{e}}} \end{matrix} \\ {{\overset{.}{h}}_{y} = {\cos \quad \theta_{e}\sin \quad \psi_{e}{\overset{.}{h}}_{e}}} \end{matrix} \\ \begin{matrix} {{\overset{.}{h}}_{z} = {{- \sin}\quad \theta_{e}{\overset{.}{h}}_{e}}} \\ {{\overset{.}{h}}_{e} = {{I_{LR}{\overset{.}{\Omega}}_{LR}} + {I_{HR}{\overset{.}{\Omega}}_{HR}}}} \end{matrix} \end{matrix}} & (7) \end{matrix}$

where g is gravity, m is the vehicle mass, (h_(x), h_(y), h_(z)) are gyroscopic couplings, F_(X) defined below is the net force due to engine throttle (thrust-drag) acting along the X-axis of the vehicle, θ_(e) and ψ_(e) are orientation of the vehicle engine with respect to the body axes, I_(LR) and I_(HR) are the low speed rotor and high speed rotor products of inertia respectively and where: $\begin{matrix} {{M = {\overset{\_}{q}\quad {{SD}^{\prime}\left( {{C_{m_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)} + {\frac{D^{\prime}}{2U}C_{m_{q}}Q} + {C_{m0}\left( {\alpha,\beta} \right)}} \right)}}},{L = {\overset{\_}{q}\quad {{SD}\left( {{C_{l_{\delta_{p}}}\left( {\alpha,\beta,\delta_{p}} \right)} + {C_{l0}\left( {\alpha,\beta} \right)} + {\frac{D}{2U}\left\lbrack {{C_{l_{p}}P} + {C_{l_{r}}R}} \right\rbrack}} \right)}}},{N = {\overset{\_}{q}\quad {{SD}\left( {{C_{n_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)} + {C_{n0}\left( {\alpha,\beta} \right)} + {\frac{D}{2U}\left\lbrack {{C_{n_{p}}P} + {C_{n_{r}}R}} \right\rbrack}} \right)}}},{F_{X} = {{F_{Thrust} - {F_{A}\left( {\alpha,\beta,\delta} \right)}} = {F_{Thrust} - {\frac{\overset{\_}{q}\quad S}{m\quad V_{T}}{C_{A}\left( {\alpha,\beta,\delta} \right)}}}}},{{F_{Z}\left( {\alpha,\beta,\delta_{q}} \right)} = {{F_{Z0}\left( {\alpha,\beta,0} \right)} + {F_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}}},{{F_{Y}\left( {\alpha,\beta,\delta_{r}} \right)} = {{F_{Y0}\left( {\alpha,\beta,0} \right)} + {F_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)}}},{\overset{\_}{q} = {\frac{1}{2}\rho \quad U^{2}}},{{F_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)} = {\overset{\_}{q}\quad {{SC}_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}}},{{F_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)} = {\overset{\_}{q}\quad {{SC}_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)}}},} & (8) \end{matrix}$

where D′ is the chord, D is the span, and functions F_(Z0)(α,β) and F_(Y0)(α, β) are given by:

F_(Z0)(α,β)={overscore (q)}SC_(Z0)(α,β),

F_(Y0)(α,β)={overscore (q)}SC_(Y0)(α,β).

The shape (curve fit) of functions C_(Z0)(α,β), C_(m0)(α, β), C_(n0)(α,β), C_(l0)(α,β), and C_(Y0)(α, β) are dependent on a specific vehicle's aerodynamics. Parameter α(rad) is angle of attack, β(rad) is the sideslip angle, φ is roll angle, P(rad/sec) is body roll rate, Q(rad/sec) is body pitch rate, R(rad/sec) is body yaw rate, U(m/sec) is missile speed, I_(xx), I_(yy), I_(zz), I_(xz) I_(yz) I_(xy) are product of inertia terms, and ρ is air density.

First, decoupling the angular equations of motion in order to facilitate future control design, and solving for the body angular acceleration equations, provides: ${\overset{.}{P} = {\frac{1}{\Delta}\left\lbrack {{\left( {I_{yz}^{2} - {I_{yy}I_{zz}}} \right)\left( {A + L} \right)} - {\left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right)\left( {B + M} \right)} - {\left( {{I_{xz}I_{yy}} + {I_{xy}I_{yz}}} \right)\left( {C + N} \right)}} \right\rbrack}},{\overset{.}{R} = {\frac{1}{\Delta}\left\lbrack {{{- \left( {{I_{xy}I_{yz}} + {I_{yy}I_{xz}}} \right)}\left( {A + L} \right)} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {B + M} \right)} + {\left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)\left( {C + N} \right)}} \right\rbrack}},{\overset{.}{Q} = {\frac{1}{\Delta}\left\lbrack {{{- \left( {{I_{xy}I_{zz}} + {I_{xz}I_{yz}}} \right)}\left( {A + L} \right)} + {\left( {I_{xz}^{2} - {I_{xx}I_{zz}}} \right)\left( {B + M} \right)} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {C + N} \right)}} \right\rbrack}},$

where

Δ=I _(xx) I _(yz) ² +I _(yy) I _(xz) ² +I _(zz) _(xy) ²+2I _(xy) I _(xz) I _(yz) −I _(xx) I _(yy) I _(zz),

A=(I_(yy)−I_(zz))RQ+I_(xz)PQ−I_(xy)PR+I_(yz)(Q²−R²)−{dot over (h)}_(x)−Qh_(z)Rh_(y),

B=I_(xy)QR+(I_(zz)−I_(xx))PR+I_(xz)(R²−P²)−I_(yz)PQ−{dot over (h)}_(y)−Rh_(x)+P_(hz),

C=(I_(xx)−I_(yy))PQ−I_(xz)QR+I_(xy)(P²−Q²)+I_(yz)PR−{dot over (h)}_(z)+Qh_(x)−Ph_(y).

For completeness, the elastic equations of motion associated with missile bending modes are presented. However, the elastic dynamics will not be used in the described nonlinear autopilot design. The elastic dynamic equations are given by: $\begin{matrix} {{{{{\overset{¨}{q}}_{i} + {2\zeta_{i}\omega_{i}{\overset{.}{q}}_{i}} + {\omega_{i}^{2}q_{i}}} = \frac{F_{i}}{\chi_{i}}},{where}}{{F_{i} = {\int_{0}^{L}{\sum{F_{z}\phi_{i}{l}}}}},{\chi_{i} = {\int_{0}^{L}{m\quad \phi_{i}^{2}{l}}}},}} & (9) \end{matrix}$

where L is the missile length, w_(i) is the natural frequency of the ith mode, ξ_(i) is the structural damping factor of the ith mode, F_(z) are the normal forces, φ_(i) are the normalized relative deflections, m is the missile mass, and q_(i) are the bending/torsional mode generalized coordinate displacement. The above equation description could be rewritten without the integral and divided over location on the missile body.

This nonlinear robust autopilot control design is valid for missile systems (6DOF) with minimum as well as non-minimum phase characteristics. First, the throttle controller design will be presented, then the 5-DOF motion is broken into three separate motions: vertical, horizontal, and roll.

2.3 Throttle Controller

This subsection is important if the vehicle under study has the capability of varying its speed (state U). For this case, one needs to design a static controller that will drive the vehicle's speed to any desired speed via the first equation of dynamics (7). That is, design force F_(X) (or equivalently a thrust) such that U converges to a desired speed, say U_(cmd). The dynamic equation is $\overset{.}{U} = {\frac{F_{X}}{m} + {{RV}_{T}\sin \quad \beta} - {{UQ}\quad \tan \quad \alpha} - {g\quad \sin \quad {\theta.}}}$

Constructing the error model by defining e=U−U_(cmd), results in: $\overset{.}{e} = {\frac{F_{X}}{m} + {{RV}_{T}\sin \quad \beta} - {{UQ}\quad \tan \quad \alpha} - {g\quad \sin \quad \theta} - {{\overset{.}{U}}_{cmd}.}}$

Since the error should converge to zero asymptotically, set

{dot over (e)}=−k ₇ e

where k₇>0. Substituting in the above equation, results in the following form for the static controller:

F _(X) =m(−k ₇ e+g sin θ+UQ tan α−RV _(T) sin β+{dot over (U)}_(cmd))

The above force is the force along the body x-axis. One needs to keep in mind that the force should be transformed to some engine thrust with some non-zero mounting angle(s) from the centerline.

2.4 Vertical Channel (2DOF)

First, design a controller that allows angle a to track a desired commanded angle α_(cmd). Later, one can track a commanded acceleration Azmd by actually converting Az_(cmd) to an equivalent α_(cmd) by using either the transfer function between the angle and the acceleration command, an equation that relates them, or a table look-up. Vehicle dynamic equations in the pitch plane are governed by: $\begin{matrix} {{\overset{.}{\alpha} = {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q - {P\quad \cos \quad \alpha \quad \tan \quad \beta} - {R\quad \sin \quad \alpha \quad \tan \quad \beta}}}{\overset{.}{Q} = {{\frac{1}{\Delta}\left\lbrack {{{- \left( {{I_{xy}I_{zz}} + {I_{xz}I_{yz}}} \right)}\left( {A + L} \right)} + {\left( {I_{xz}^{2} - {I_{xx}I_{zz}}} \right)\left( {B + M} \right)} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {C + N} \right)}} \right\rbrack}.}}} & (10) \end{matrix}$

State transformation:

Since it is desired to track a commanded input angle α, a simple linear transformation is needed in order to facilitate this process. The state transform

z ₁=α−α_(cmd),

where α_(cmd) is some desired commanded angle α, can be selected. Differentiating provides: ${\overset{.}{z}}_{1} = {{\frac{1}{m\quad V_{T}\cos \quad \beta}\left( {{F_{Z}\cos \quad \alpha} + {F_{X}\sin \quad \alpha}} \right)} + Q - {P\quad \cos \quad \alpha \quad \tan \quad \beta} - {R\quad \sin \quad {\alpha tan}\quad \beta} - {{\overset{.}{\alpha}}_{cmd}.}}$

As state z₁ should converge to zero asymptotically, define new state z₂ as follows:

z ₂ ={dot over (z)} ₁ +k ₁ z ₁,

for some gain k₁>0. In order to drive z₁ to zero, one must make state z₂ converge to zero. With this in mind, setting up the differential equation for state z₂ provides: ${\overset{.}{z}}_{2} = {{\frac{1}{m\quad V_{T}\cos \quad \beta}\left\lbrack {{{\overset{.}{F}}_{Z}\cos \quad \alpha} - {F_{Z}\overset{.}{\alpha}\quad \sin \quad \alpha} + {{\overset{.}{F}}_{X}\sin \quad \alpha} + {F_{X}\overset{.}{\alpha}\quad \cos \quad \alpha}} \right\rbrack} + {\left( {{F_{Z}\quad \cos \quad \alpha} + {F_{X}\sin \quad \alpha}} \right)\left( {\frac{\overset{.}{\beta}\sin \quad \beta}{m\quad V_{T}\cos^{2}\beta} - \frac{\overset{.}{m}}{m^{2}V_{T}\cos \quad \beta} - \frac{{\overset{.}{V}}_{T}}{m\quad V_{T}^{2}\cos \quad \beta}} \right)} + {k_{1}\left\lbrack {{\frac{1}{m\quad V_{T}\cos \quad \beta}\left( {{F_{Z}\cos \quad \alpha} + {F_{X}\sin \quad \alpha}} \right)} + Q - {P\quad \cos \quad {\alpha tan}\quad \beta} - {R\quad \sin \quad {\alpha tan}\quad \beta}} \right\rbrack} - {k_{1}{\overset{.}{\alpha}}_{cmd}} - {\overset{¨}{\alpha}}_{cmd} + \overset{.}{Q} - {\overset{.}{P}\quad \cos \quad \alpha \quad \tan \quad \beta} + {P\quad \overset{.}{\alpha}\quad \sin \quad \alpha \quad \tan \quad \beta} - {P\quad \overset{.}{\beta}\quad \cos \quad \alpha \quad \sec^{2}\beta} - {\overset{.}{R}\quad \sin \quad \alpha \quad \tan \quad \beta} - {R\quad \overset{.}{\alpha}\quad \cos \quad \alpha \quad \tan \quad \beta} - {R\quad \overset{.}{\beta}\quad \sin \quad \alpha \quad \sec^{2}\beta}}$

In order to drive state Z₂ to zero asymptotically, a simple choice is to to have

{dot over (z)} ₂ =−k ₂ z ₂, where gain k₂>0.

Therefore: $\begin{matrix} {{{\frac{1}{m\quad V_{T}\cos \quad \beta}\left\lbrack {{{\overset{.}{F}}_{Z}\cos \quad \alpha} - {F_{Z}\overset{.}{\alpha}\sin \quad \alpha} + {{\overset{.}{F}}_{X}\sin \quad \alpha} + {F_{X}\overset{.}{\alpha}\cos \quad \alpha}} \right\rbrack} - {\left( {k_{1} + k_{2}} \right){\overset{.}{\alpha}}_{cmd}} - {\overset{¨}{\alpha}}_{cmd} + {\left( {{F_{Z}\cos \quad \alpha} + {F_{X}\sin \quad \alpha}} \right)\left( {\frac{\overset{.}{\beta}\sin \quad \beta}{m\quad V_{T}\cos^{2}\quad \beta} - \frac{\overset{.}{m}}{{m\quad}^{2}V_{T}\cos \quad \beta} - \frac{\overset{.}{V_{T}}}{m\quad V_{T}^{2}\cos \quad \beta}} \right)} + {\left( {k_{1} + k_{2}} \right)\left\lbrack \quad {{\frac{1}{m\quad V_{T}\cos \quad \beta}\left( {{F_{Z}\cos \quad \alpha} + {F_{X}\sin \quad \alpha}} \right)} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\rbrack} + \overset{.}{Q} - {\overset{.}{P}\quad \cos \quad {\alpha tan\beta}} + {P\overset{.}{\alpha}\quad \sin \quad {\alpha tan\beta}} - {P\overset{.}{\beta}\quad \cos \quad {\alpha sec}^{2}\beta} - {\overset{.}{R}\sin \quad {\alpha tan\beta}} - {R\overset{.}{\alpha}\cos \quad {\alpha tan\beta}} - {R\overset{.}{\beta}\sin \quad {\alpha sec}^{2}\beta} + {k_{1}k_{2}z_{1}}} = 0.} & (11) \end{matrix}$

Substituting force F_(Z)(α, β, δ_(q)) in equation (11) and regouping, obtains: $\begin{matrix} {{\frac{\cos \quad \alpha}{m\quad V_{T}\cos \quad \beta}{\overset{.}{F}}_{Z_{\delta_{q}}}} = {{{- {\frac{1}{m\quad V_{T}\cos \quad \beta}\left\lbrack \quad {{\left( {k_{1} + k_{2}} \right)\cos \quad \alpha} - {\overset{.}{\alpha}\quad \sin \quad \alpha} + {\cos \quad {\alpha \left( {{\overset{.}{\beta}\quad \tan \quad \beta} - \frac{\overset{.}{m}}{m} - \frac{\overset{.}{V_{T}}}{V_{T}}} \right)}}} \right\rbrack}}\quad F_{Z_{\delta_{q}}}} - {\frac{1}{m\quad V_{T}\cos \quad \beta}\left\lbrack \quad {{{\overset{.}{F}}_{Z0}\quad \cos \quad \alpha} - {F_{Z0}\overset{.}{\alpha}\sin \quad \alpha} + {{\overset{.}{F}}_{X}\sin \quad \alpha} + {F_{X}\overset{.}{\alpha}\cos \quad \alpha}} \right\rbrack} - {\frac{1}{m\quad V_{T}\cos \quad \beta}\left( {{F_{Z0}\cos \quad \alpha} + {F_{X}\sin \quad \alpha}} \right)\left( {{\overset{.}{\beta}\quad \tan \quad \beta} - \frac{\overset{.}{m}}{m} - \frac{\overset{.}{V_{T}}}{V_{T}}} \right)} - {\left( {k_{1} + k_{2}} \right)\left\lbrack \quad {{\frac{1}{m\quad V_{T}\cos \quad \beta}\left( {{F_{Z0}\cos \quad \alpha} + {F_{X}\sin \quad \alpha}} \right)} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\rbrack} + {\left( {k_{1} + k_{2}} \right){\overset{.}{\alpha}}_{cmd}} + {\overset{¨}{\alpha}}_{cmd} - \overset{.}{Q} + {\overset{.}{P}\quad \cos \quad {\alpha tan\beta}} - {k_{1}k_{2}z_{1}} + {\overset{.}{R}\sin \quad {\alpha tan\beta}} + {\sec^{2}{\beta\left( {{P\quad \cos \quad \alpha} + {R\quad \sin \quad \alpha}}\quad \right)}\overset{.}{\beta}} + {\tan \quad \beta \quad \left( {{R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right){\overset{.}{\alpha}.}}}} & (12) \end{matrix}$

Substitute dynamics {dot over (P)}, {dot over (Q)}, {dot over (R)}, {dot over (α)}, and {dot over (β)} in equation (12) yields: $\begin{matrix} {{\frac{\cos \quad \alpha}{m\quad V_{T}\cos \quad \beta}{\overset{.}{F}}_{Z_{\delta_{q}}}} = {{{- {\frac{1}{m\quad V_{T}\cos \quad \beta}\left\lbrack \quad {{\left( {k_{1} + k_{2}} \right)\cos \quad \alpha} - {\left\{ {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z0}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\} \sin \quad \alpha} + {\cos \quad {\alpha\left( \quad {{\tan \quad \beta \left\{ {{\cos \quad \beta \quad \left( \frac{F_{Y}}{m\quad V_{T}} \right)} - \quad {\cos \quad {\alpha sin\beta}\quad \left( \frac{F_{X}}{m\quad V_{T}} \right)} - {\sin \quad {\alpha sin\beta}\quad \left( \frac{F_{Z0}}{m\quad V_{T}} \right)} - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}} \right\}} - \frac{\overset{.}{m}}{m} - \frac{\overset{.}{V_{T}}}{V_{T}}} \right)}} + {\cos \quad {{\alpha tan\beta}\left( {{P\quad \sin \quad \alpha} - {R\quad \cos \quad \alpha}} \right)}} + {\frac{\cos \quad \alpha}{m\quad V_{T}\cos \quad \beta}\left( {{F_{X}\cos \quad \alpha} - {F_{Z0}\sin \quad \alpha}} \right)}} \right\rbrack}}\quad F_{Z_{\delta_{q}}}} + \quad {\frac{\sin \quad {\alpha cos}\quad \alpha}{\left( {m\quad V_{T}\cos \quad \beta} \right)^{2}}\quad \left( {{\sin^{2}\beta} - \quad 1} \right)\quad F_{Z_{\delta_{q}}}^{2}} - {\frac{1}{m\quad V_{T}\cos \quad \beta}\left\lbrack \quad {{{\overset{.}{F}}_{Z0}\quad \cos \quad \alpha} + {\left( {{F_{X}\cos \quad \alpha} - {F_{Z0}\sin \quad \alpha}} \right)\left\{ {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z0}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\}} + {{\overset{.}{F}}_{X}\sin \quad \alpha}} \right\rbrack} - {\frac{1}{m\quad V_{T}\cos \quad \beta}\left( {{F_{Z0}\cos \quad \alpha} + {F_{X}\sin \quad \alpha}} \right)\left( \quad {{\tan \quad \beta \left\{ {{\cos \quad \beta \quad \left( \frac{F_{Y}}{m\quad V_{T}} \right)} - \quad {\cos \quad {\alpha sin\beta} \times \left( \frac{F_{X}}{m\quad V_{T}} \right)} - {\sin \quad {{\alpha sin\beta}\left( \frac{F_{Z}}{m\quad V_{T}} \right)}}\quad - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}} \right\}} - \frac{\overset{.}{m}}{m} - \frac{\overset{.}{V_{T}}}{V_{T}}} \right)} - {\left( {k_{1} + k_{2}} \right)\left\lbrack {{\frac{1}{m\quad V_{T}\cos \quad \beta}\left( {{F_{Z0}\cos \quad \alpha} + {F_{X}\sin \quad \alpha}} \right)} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\rbrack} - {\frac{1}{\Delta}\left\lbrack {{{- \left( {{I_{xy}I_{zz}} + {I_{xz}I_{yz}}} \right)}\left( {A + L} \right)} + {\left( {I_{xz}^{2} - {I_{xx}I_{zz}}} \right)\left( {B + M} \right)} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {C + N} \right)}} \right\rbrack} + {{\frac{1}{\Delta}\left\lbrack {{\left( {I_{yz}^{2} - {I_{yy}I_{zz}}} \right)\left( {A + L} \right)} - {\left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right)\left( {B + M} \right)} - {\left( {{I_{xx}I_{yy}} + {I_{xy}I_{yz}}} \right)\left( {C + N} \right)}} \right\rbrack}\cos \quad {\alpha tan\beta}} - {{\frac{1}{\Delta}\left\lbrack {{\left( {{I_{xy}I_{yz}} + {I_{yy}I_{xz}}} \right)\left( {A + L} \right)} + {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {B + M} \right)} - {\left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)\left( {C + N} \right)}} \right\rbrack}\sin \quad {\alpha tan\beta}} + {\sec^{2}{\beta\left( {{P\quad \cos \quad \alpha} + {R\quad \sin \quad \alpha}}\quad \right)}\left\{ \quad {{\frac{F_{Y}}{m\quad V_{T}}\cos \quad \beta}\quad - {\cos \quad {{\alpha sin\beta}\left( \frac{F_{X}}{m\quad V_{T}} \right)}} - {\sin \quad {{\alpha sin\beta}\left( \frac{F_{Z}}{m\quad V_{T}} \right)}}\quad - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}} \right\}} + {\tan \quad {\beta \left( {{R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)}\left\{ {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z0}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q\quad - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\}} + {\left( {k_{1} + k_{2}} \right){\overset{.}{\alpha}}_{cmd}} + {\overset{¨}{\alpha}}_{cmd} - {k_{1}k_{2}{z_{1}.}}}} & (13) \end{matrix}$

The solution of force controller differential equation (13) is an amount of force acting on a vehicle for a given angle of attack command (or equivalently an acceleration command). This type of controller, according to equation (13), can be applied to air-borne vehicles that use fin control, thrust vector control, thruster control, or other means to control the vehicle. For vehicles using fins as means of control, when designing a linear autopilot controller, one assumes a linear relationship between force and fin deflection described by: ${{F_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)} \simeq {\overset{\_}{q}{SC}_{Z_{\delta_{q}}}\delta_{q}}},$

where the force aerodynamic coefficient C_(Z_(δ_(q)))

is constant and represents the slope of the force aerodynamic in the linear region (pre-stall region). The drawback of using a linearized force aerodynamic coefficient is that the autopilot controller cannot control a vehicle in the post-stall region or even close to the fin stall point. That is why linear autopilot controllers limit the fin deflection displacement to the linear region of operation where the rate of change of force aerodynamic coefficient C_(Z_(δ_(q)))

is constant for a range of fin deflection values. In the development of the present embodiment, a nonlinear aerodynamic function is utilized representing force $F_{Z_{\delta_{q}}}\left( {{F_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)} = {\overset{\_}{q}{{SC}_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}}} \right)$

for a given mach number. The challenge of using nonlinear function F_(Z_(δ_(q)))(α, β, δ_(q))

is that for a given F_(Z_(δ_(q)))(α, β, δ_(q))

command signal, there exists more than one fin deflection command δ_(q). In other words, mapping δ_(q_(cmd)) = ℱ(F_(Z_(δ_(q))))

is not one-to-one, i.e., mapping ℑ(·) is not a function. The next section discusses a way, according to the present invention, of solving this problem to yield a one-to-one mapping for ℑ(·). But, before proceeding with the next section, it is necessary to adjust differential equation (13) so as to have a fin deflection differential equation since an autopilot controller usually outputs fin deflection commands. So using $\begin{matrix} {{{F_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)} = {\overset{\_}{q}{{SC}_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}}},} & (14) \end{matrix}$

and calculating the derivative, yields: $\begin{matrix} \begin{matrix} {{{\overset{.}{F}}_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)} = \quad {{\overset{.}{\overset{\_}{q}}S\quad {C_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}} + {\overset{\_}{q}S\quad {{\overset{.}{C}}_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}}}} \\ {= \quad {{\overset{.}{\overset{\_}{q}}S\quad {C_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}} + {\overset{\_}{q}S\quad \left( {{\frac{\partial}{\partial\alpha}{C_{Z_{\delta_{q}}}( \cdot )}\overset{.}{\alpha}} +} \right.}}} \\ {\left. \quad {{\frac{\partial}{\partial\beta}{C_{Z_{\delta_{q}}}( \cdot )}\overset{.}{\beta}} + {\frac{\partial}{\partial\delta_{q}}{C_{Z_{\delta_{q}}}( \cdot )}\overset{.}{\delta_{q}}}} \right).} \end{matrix} & (15) \end{matrix}$

Substituting equations (14) and (15) into force differential equation (13) and re-grouping the terms, yields: $\begin{matrix} {{{\frac{\overset{\_}{q}\quad S\quad \cos \quad \alpha}{m\quad V_{T}\cos \quad \beta}C_{Z_{\delta_{q}}}^{\prime}\overset{.}{\delta_{q}}} = {{{- {\frac{\overset{\_}{q}\quad S}{m\quad V_{T}\cos \quad \beta}\left\lbrack \quad {{\left( {k_{1} + k_{2}} \right)\cos \quad \alpha} - {\left\{ {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z0}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\} \sin \quad \alpha} + {\cos \quad {\alpha\left( \quad {{\tan \quad \beta \quad \times \left\{ \quad {{\frac{F_{Y}}{m\quad V_{T}}\cos \quad \beta} - {\frac{F_{X}}{m\quad V_{T}}\cos \quad {\alpha sin\beta}} - {\frac{F_{Z0}}{m\quad V_{T}}\sin \quad {\alpha sin\beta}} - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}} \right\}} + \frac{\overset{.}{\overset{\_}{q}}}{\overset{\_}{q}} - \frac{\overset{.}{m}}{m} - \frac{\overset{.}{V_{T}}}{V_{T}}} \right)}} + {\cos \quad {{\alpha tan\beta}\left( {{P\quad \sin \quad \alpha} - {R\quad \cos \quad \alpha}} \right)}} + {\frac{\overset{\_}{q}\quad S\quad \cos^{2}\quad \alpha}{m\quad V_{T}\cos \quad \beta}\frac{\partial}{\partial\alpha}C_{Z_{\delta_{q}}}} + {\frac{\cos \quad \alpha}{m\quad V_{T}\cos \quad \beta}\quad \left( {{F_{X}\cos \quad \alpha} - {F_{Z0}\sin \quad \alpha}} \right)}} \right\rbrack}}\quad C_{Z_{\delta_{q}}}} - \quad {\frac{{\overset{\_}{q}\quad}^{2}{S\quad}^{2}\sin \quad {\alpha cos}\quad \alpha}{\left( {m\quad V_{T}} \right)^{2}}\quad C_{Z_{\delta_{q}}}^{2}} - {\frac{1}{m\quad V_{T}\cos \quad \beta}\left\lbrack \quad {{{\overset{.}{F}}_{Z0}\quad \cos \quad \alpha} + {\left( {{\overset{\_}{q}S\quad \cos \quad \alpha \frac{\partial}{\partial\alpha}C_{Z_{\delta_{q}}}} + {F_{X}\cos \quad \alpha} - {F_{Z0}\sin \quad \alpha}} \right)\left\{ {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z0}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\}} + {{\overset{.}{F}}_{X}\sin \quad \alpha}} \right\rbrack} - {\frac{1}{m\quad V_{T}\cos \quad \beta}\left( {{F_{Z0}\cos \quad \alpha} + {F_{X}\sin \quad \alpha} + {\overset{\_}{q}S\quad \cos \quad \alpha \quad \cot \quad \beta \frac{\partial}{\partial\beta}C_{Z_{\delta_{q}}}}} \right) \times \left( \quad {{\tan \quad \beta \left\{ \quad {{\frac{F_{Y}}{m\quad V_{T}}\cos \quad \beta} - {\frac{F_{X}}{m\quad V_{T}}\cos \quad {\alpha sin\beta}} - {\frac{F_{Z}}{m\quad V_{T}}\sin \quad {\alpha sin\beta}} - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}} \right\}} - \frac{\overset{.}{m}}{m} - \frac{\overset{.}{V_{T}}}{V_{T}}} \right)} - {\left( {k_{1} + k_{2}} \right)\left\lbrack {{\frac{1}{m\quad V_{T}\cos \quad \beta}\left( {{F_{Z0}\cos \quad \alpha} + {F_{X}\sin \quad \alpha}} \right)} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\rbrack} - {\frac{1}{\Delta}\left\lbrack {{{- \left( {{I_{xy}I_{zz}} + {I_{xz}I_{yz}}} \right)}\left( {A + L} \right)} + {\left( {I_{xz}^{2} - {I_{xx}I_{zz}}} \right)\left( {B + M} \right)} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {C + N} \right)}} \right\rbrack} + {{\frac{1}{\Delta}\left\lbrack {{\left( {I_{yz}^{2} - {I_{yy}I_{zz}}} \right) \times \left( {A + L} \right)} - {\left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right)\left( {B + M} \right)} - {\left( {{I_{xx}I_{yy}} + {I_{xy}I_{yz}}} \right)\left( {C + N} \right)}} \right\rbrack}\cos \quad {\alpha tan\beta}} - {{\frac{1}{\Delta}\left\lbrack {{\left( {{I_{xy}I_{yz}} + {I_{yy}I_{xz}}} \right)\left( {A + L} \right)} + {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {B + M} \right)} - {\left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)\left( {C + N} \right)}} \right\rbrack}\sin \quad {\alpha tan\beta}} + {\sec^{2}{\beta\left( {{P\quad \cos \quad \alpha} + {R\quad \sin \quad \alpha}}\quad \right)} \times \left\{ {{\cos \quad {\beta\left( \quad \frac{F_{Y}}{m\quad V_{T}} \right)}} - {\cos \quad {{\alpha sin\beta}\left( \frac{F_{X}}{m\quad V_{T}} \right)}} - {\sin \quad {{\alpha sin\beta}\left( \frac{F_{Z}}{m\quad V_{T}} \right)}}\quad - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}} \right\}} + {\tan \quad {\beta \left( {{R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)}\left\{ {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z0}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q\quad - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\}} + {\left( {k_{1} + k_{2}} \right){\overset{.}{\alpha}}_{cmd}} + {\overset{¨}{\alpha}}_{cmd} - {k_{1}k_{2}z_{1}}}},{{{where}\quad {C_{Z_{\delta_{q}}}^{\prime}\left( {\alpha,\beta,\delta_{q}} \right)}} \equiv {\frac{\partial}{\partial\delta_{q}}{{C_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}.}}}} & (16) \end{matrix}$

2.4.1 Slope-Intercept design format

There are many methods of obtaining a one-to-one mapping for fin aerodynamic function C_(Z_(δ_(q)))(α, β, δ_(q)).

One method of obtaining a one-to-one mapping is by applying different types of transformations to the force aerodynamic coefficient function (C_(Z_(δ_(q))))

in order to transform the mapping function ℑ(·) into a one-to-one mapping. Another method is to convert C_(Z_(δ_(q)))(α, β, δ_(q))

function into a “slope” function and an “intercept” function. This method resolves the aerodynamic function as follows: $\begin{matrix} {{{{C_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)} = {{\frac{\partial}{\partial\delta_{q}}{C_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}\delta_{q}} + {{\underset{\_}{C}}_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}}},\quad \text{or}}{{{C_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)} = {{C_{Z_{\delta_{q}}}^{\prime}\left( {\alpha,\beta,\delta_{q}} \right)} + {{\underset{\_}{C}}_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}}},}} & (17) \end{matrix}$

where ${\underset{\_}{C}}_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)$

denotes the “intercept” of C_(Z_(δ_(q)))(α, β, δ_(q)).

Thus, with this in mind, equation (16) becomes: $\begin{matrix} {{\frac{\overset{\_}{q}S\quad \cos \quad \alpha}{{mV}_{T}\cos \quad \beta}C_{Z_{\delta_{q}}}^{\prime}{\overset{.}{\delta}}_{q}} = {- {\frac{\overset{\rightharpoonup}{q}S}{{mV}_{T}\cos \quad \beta}\left\lbrack {{{\left( {k_{1} + k_{2}} \right)\cos \quad \alpha} - {\left\{ {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z0}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\} \sin \quad \alpha} + {\cos \quad \left. {\left. {\alpha\left( {\tan \quad \beta \left\{ {{\cos \quad {\beta \left( \frac{F_{Y}}{m\quad V_{T}} \right)}} - {\cos \quad {{\alpha sin\beta}\left( \frac{F_{X}}{m\quad V_{T}} \right)}} - {\sin \quad \left. {\left. {{\alpha sin\beta}\left( {\frac{F_{Z0}}{m\quad V_{T}}} \right.} \right) - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}} \right\}} + \frac{\overset{.}{\overset{\_}{q}}}{\overset{\_}{q}} - \frac{\overset{.}{m}}{m} - \frac{\overset{.}{V_{T}}}{V_{T}}} \right.} \right.} \right) + {\cos \quad {{\alpha tan\beta}\left( {{P\quad \sin \quad \alpha} - {R\quad \cos \quad \alpha}} \right)}} + {\frac{\overset{\_}{q}S\quad \cos^{2}\alpha}{m\quad V_{T}\cos \quad \beta}\frac{\partial}{\partial\alpha}C_{Z_{\delta_{q}}}} + {\frac{\cos \quad \alpha}{m\quad V_{T}\cos \quad \beta}\left( {{F_{X}\cos \quad \alpha} - {F_{Z0}\sin \quad \alpha}} \right)}} \right\rbrack \left( {{{C_{Z_{\delta_{q}}}^{\prime}\left( {\alpha,\beta,\delta_{q}} \right)}\delta_{q}} + {{\underset{\_}{C}}_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}} \right)} - {\frac{{\overset{\_}{q}}^{2}S^{2}\sin \quad {\alpha cos\alpha}}{\left( {m\quad V_{T}} \right)^{2}}C_{Z_{\delta_{q}}}^{2}} - {\frac{1}{m\quad V_{T}\cos \quad \beta}\left\lbrack {{{\overset{.}{F}}_{Z0}\cos \quad \alpha} + {\left( {{\overset{\_}{q}S\quad \cos \quad \alpha \frac{\partial}{\partial\alpha}C_{Z_{\delta_{q}}}} + {F_{X}\cos \quad \alpha} - {F_{Z0}\sin \quad \alpha}} \right)\left\{ {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z0}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\}} + {{\overset{.}{F}}_{X}\sin \quad \alpha}} \right\rbrack} - {\frac{1}{m\quad V_{T}\cos \quad \beta}\left( {{F_{Z0}\cos \quad \alpha} + {F_{X}\sin \quad \alpha} + {\overset{\_}{q}S\quad \cos \quad {\alpha cot\beta}\frac{\partial}{\partial\beta}C_{Z_{\delta_{q}}}}} \right)\left( {{\tan \quad \beta \left\{ {{\frac{F_{Y}}{m\quad V_{T}}\cos \quad \beta} - {\frac{F_{X}}{m\quad V_{T}}\cos \quad {\alpha sin\beta}} - {\frac{F_{Z}}{m\quad V_{T}}\sin \quad {\alpha sin\beta}} - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}} \right\}} - \frac{\overset{.}{m}}{m} - \frac{{\overset{.}{V}}_{T}}{V_{T}}} \right)} - {\left( {k_{1} + k_{2}} \right) \times \left\lbrack {{\frac{1}{m\quad V_{T}\cos \quad \beta}\left( {{F_{Z0}\cos \quad \alpha} + {F_{X}\sin \quad \alpha}} \right)} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\rbrack} - {\frac{1}{\Delta}\left\lbrack {{{- \left( {{I_{xy}I_{zz}} + {I_{xz}I_{yz}}} \right)}\left( {A + L} \right)} + {\left( {I_{xz}^{2} - {I_{xx}I_{zz}}} \right)\left( {B + M} \right)} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {C + N} \right)}} \right\rbrack} + {{\frac{1}{\Delta}\left\lbrack {{\left( {I_{yz}^{2} - {I_{yy}I_{zz}}} \right)\left( {A + L} \right)} - {\left( {{I_{xz}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {B + M} \right)} - {\left( {{I_{xz}I_{yy}} + {I_{xy}I_{xz}}} \right)\left( {C + N} \right)}} \right\rbrack}\cos \quad {\alpha tan\beta}} - {{\frac{1}{\Delta}\left\lbrack {{\left( {{I_{xy}I_{yz}} + {I_{yy}I_{xz}}} \right)\left( {A + L} \right)} + {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {B + M} \right)} - {\left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)\left( {C + N} \right)}} \right\rbrack}\sin \quad {\alpha tan\beta}} + {\sec^{2}{\beta \left( {{P\quad \cos \quad \alpha} + {R\quad \sin \quad \alpha}} \right)} \times \left\{ {{\frac{F_{Y}}{m\quad V_{T}}\cos \quad \beta} - {\frac{F_{X}}{m\quad V_{T}}\cos \quad {\alpha sin\beta}} - {\frac{F_{Z}}{m\quad V_{T}}\sin \quad {\alpha sin\beta}} - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}} \right\}} + {\tan \quad {\beta \left( {{R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)}\left\{ {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z0}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\}} + {\left( {k_{1} + k_{2}} \right){\overset{.}{\alpha}}_{cmd}} + {\overset{¨}{\alpha}}_{cmd} - {k_{1}k_{2}z_{1}}},} \right.}}} & (18) \end{matrix}$

It is worth noting that the above differential equation works well when C_(Z_(δ_(q)))^(′)

is away from zero. However, as a vehicle approaches the stall condition, i.e., C_(Z_(δ_(q)))^(′) ≃ 0,

it causes a singularity in equation (18) which leads to a problem in obtaining the differential equation solution for δ_(q). A solution to this problem is to neglect all of the terms in (18) that are multiplied by C_(Z_(δ_(q)))^(′).

Therefore, from moment equation M in (8), rewriting $\begin{matrix} {{{C_{m_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)} = {{{C_{m_{\delta_{q}}}^{\prime}\left( {\alpha,\beta,\delta_{q}} \right)}\delta_{q}} + {{\underset{\_}{C}}_{m_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}}},} & (19) \end{matrix}$

where C_(m_(δ_(q)))^(′)(α, β, δ_(q))

is the slope function of ${C_{m_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}\quad {and}\quad {{\underset{\_}{C}}_{m_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}$

is the C_(m_(δ_(q)))(α, β, δ_(q))

intercept function; and solving for δ_(q); the form of an analytical solution controller (closed form solution) for C_(Z_(δ_(q)))^(′) ≃ 0

is given by: $\begin{matrix} {{{\Omega\delta}_{q} = {{{- {\frac{\overset{\_}{q}S}{m\quad V_{T}\cos \quad \beta}\left\lbrack {{\left( {k_{1} + k_{2}} \right)\cos \quad \alpha} - {\left\{ {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z0}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\} \sin \quad \alpha} + {\cos \quad {\alpha \left( {{\tan \quad \beta \left\{ {{\frac{F_{Y}}{m\quad V_{T}}\cos \quad \beta} - {\frac{F_{X}}{m\quad V_{T}}\cos \quad {\alpha sin\beta}} - {\frac{F_{Z0}}{m\quad V_{T}}\sin \quad {\alpha sin\beta}} - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}} \right\}} + \frac{\overset{.}{\overset{\_}{q}}}{\overset{\_}{q}} - \frac{\overset{.}{m}}{m} - \frac{{\overset{.}{V}}_{T}}{V_{T}}} \right)}} + {\cos \quad {{\alpha tan\beta}\left( {{P\quad \sin \quad \alpha} - {R\quad \cos \quad \alpha}} \right)}} + {\frac{\overset{\_}{q}S\quad \cos^{2}\alpha}{m\quad V_{T}\cos \quad \beta}\quad \frac{\partial}{\partial\alpha}{\underset{\_}{C}}_{Z_{\delta_{q}}}} + {\frac{\cos \quad \alpha}{m\quad V_{T}\cos \quad \beta}\left( {{F_{X}\cos \quad \alpha} - {F_{Z0}\sin \quad \alpha}} \right)}} \right\rbrack}}{{\underset{\_}{C}}_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}} - {\frac{{\overset{\_}{q}}^{2}S^{2}\sin \quad {\alpha cos\alpha}}{\left( {m\quad V_{T}} \right)^{2}}\quad {\overset{\_}{C}}_{Z_{b_{q}}}^{2}} - {\frac{1}{m\quad V_{T}\cos \quad \beta} \times \left\lbrack {{{\overset{.}{F}}_{Z0}\cos \quad \alpha} + {\left( {{\overset{\_}{q}S\quad \cos \quad \alpha \frac{\partial}{\partial\alpha}{\underset{\_}{C}}_{Z_{\delta_{q}}}} + {F_{X}\cos \quad \alpha} - {F_{Z0}\sin \quad \alpha}} \right) \times \left\{ {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z0}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\}} + {{\overset{.}{F}}_{X}\sin \quad \alpha}} \right\rbrack} - {\frac{1}{m\quad V_{T}\cos \quad \beta}\left( {{F_{Z0}\cos \quad \alpha} + {F_{X}\sin \quad \alpha} + {\overset{\_}{q}S\quad \cos \quad {\alpha cot\beta}\frac{\partial}{\partial\beta}{\underset{\_}{C}}_{Z_{\delta_{q}}}}} \right) \times \left( {{\tan \quad \beta \left\{ {{\cos \quad {\beta \left( \frac{F_{Y}}{m\quad V_{T}} \right)}} - {\cos \quad {{\alpha sin\beta}\left( \frac{F_{X}}{m\quad V_{T}} \right)}} - {\sin \quad {{\alpha sin\beta}\left( \frac{F_{Z}}{m\quad V_{T}} \right)}} - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}} \right\}} - \frac{\overset{.}{m}}{m} - \frac{{\overset{.}{V}}_{T}}{V_{T}}} \right)} - \quad {\left( {k_{1} + k_{2}} \right)\left\lbrack \quad {{\frac{1}{m\quad V_{T}\cos \quad \beta}\quad \left( {{F_{Z0}\cos \quad \alpha} + {F_{X}\sin \quad \alpha}} \right)} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\rbrack} - {\frac{1}{\Delta}\left\lbrack {{{- \left( {{I_{xy}I_{zz}} + {I_{xz}I_{yz}}} \right)}\left( {A + L} \right)} + {\left( {I_{xz}^{2} - {I_{xx}I_{zz}}} \right)\left( {B + M_{1}} \right)} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {C + N} \right)}} \right\rbrack} + {{\frac{1}{\Delta}\left\lbrack {{\left( {I_{yz}^{2} - {I_{yy}I_{zz}}} \right) \times \left( {A + L} \right)} - {\left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right)\left( {B + M_{1}} \right)} - {\left( {{I_{xz}I_{yy}} + {I_{xy}I_{yz}}} \right)\left( {C + N} \right)}} \right\rbrack}\cos \quad {\alpha tan\beta}} - {{\frac{1}{\Delta}\left\lbrack {{\left( {{I_{xy}I_{yz}} + {I_{yy}I_{xz}}} \right)\left( {A + L} \right)} + {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {B + M_{1}} \right)} - {\left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)\left( {C + N} \right)}} \right\rbrack}\sin \quad {\alpha tan\beta}} + {\sec^{2}{\beta \left( {{P\quad \cos \quad \alpha} + {R\quad \sin \quad \alpha}} \right)} \times \left\{ {{\frac{F_{Y}}{m\quad V_{T}}\cos \quad \beta} - {\frac{F_{X}}{m\quad V_{T}}\cos \quad {\alpha sin\beta}} - {\frac{F_{Z}}{m\quad V_{T}}\sin \quad {\alpha sin}\quad \beta} - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}} \right\}} + {\tan \quad {\beta \left( {{R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)}\left\{ {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z0}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q\quad - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\}} + {\left( {k_{1} + k_{2}} \right){\overset{.}{\alpha}}_{cmd}} + {\overset{¨}{\alpha}}_{cmd} - {k_{1}k_{2}z_{1}}}},{{\text{where}\quad \Omega} = {\frac{\overset{\_}{q}{SD}^{\prime}}{\Delta}\left\{ {{\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\sin \quad {\alpha tan\beta}} + {\left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right)\cos \quad {\alpha tan\beta}} + I_{xz}^{2} - {I_{xx}I_{zz}}} \right\} C_{Z_{\delta_{q}}}^{\prime}}},{M_{1} = {\overset{\_}{q}{{{SD}^{\prime}\left( {{\frac{D^{\prime}}{2U}C_{m_{q}}Q} + {{\underset{\_}{C}}_{m_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)} + {C_{m0}\left( {\alpha,\beta} \right)}} \right)}.}}}} & (20) \end{matrix}$

It is necessary to keep in mind that the above analytical solution (static) controller is singular as C_(m_(δ_(q)))^(′)

approaches zero. Thus, the present invention addresses a need for a mixing algorithm that switches between the static controller of equation (20) and dynamic controller of equation (18) to avoid any control singularity.

The static controller of equation (20) can be substituted for the dynamic controller of equation (18) not only close to fin stall condition (C_(Z_(δ_(q)))^(′) ≃ 0),

but for all times if the following holds:

Extracting a δ_(q) term from moment equation (8) M in the last line of equation (18) and combining it with the damping term ([·]δ_(q)) in equation (18), yields the following dynamic controller damping term: $\begin{matrix} {\left( \frac{\overset{\_}{q}S}{m\quad V_{T}\cos \quad \beta} \right){{{{\overset{\_}{C}}_{Z_{\delta_{q}}}^{2}\left( {\alpha,\beta,\delta_{q}} \right)}\left\lbrack {{\left( {k_{1} + k_{2}} \right)\cos \quad \alpha} - {\left\{ {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z0}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad {\alpha tan\beta}}} \right\} \sin \quad \alpha} + {\cos \quad {\alpha \left( {{\tan \quad \beta \left\{ {{\frac{F_{Y}}{m\quad V_{T}}\cos \quad \beta} - {\frac{F_{X}}{m\quad V_{T}}\cos \quad {\alpha sin\beta}} - {\frac{F_{Z0}}{m\quad V_{T}}\sin \quad {\alpha sin}\quad \beta} - {R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}} \right\}} + \frac{\overset{.}{\overset{\_}{q}}}{\overset{\_}{q}} - \frac{\overset{.}{m}}{m} - \frac{{\overset{.}{V}}_{T}}{V_{T}}} \right)}} + {\cos \quad {{\alpha tan\beta}\left( {{P\quad \sin \quad \alpha} - {R\quad \cos \quad \alpha}} \right)}} + {\frac{\overset{\_}{q}S\quad \cos^{2}\alpha}{m\quad V_{T}\cos \quad \beta}\frac{\partial}{\partial\alpha}C_{Z_{\delta_{q}}}} + {\frac{\cos \quad \alpha}{m\quad V_{T}\cos \quad \beta}\left( {{F_{X}\cos \quad \alpha} - {F_{Z0}\sin \quad \alpha}} \right)} + {\frac{m\quad D^{\prime}V_{T}\cos \quad \beta}{\Delta}\left\{ {{\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right) \times \left( {\sin \quad {\alpha tan\beta}} \right)} + {\left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right)\cos \quad {\alpha tan\beta}} + I_{xz}^{2} - {I_{xx}I_{zz}}} \right\} \frac{C_{m_{\delta_{q}}}^{\prime}}{{C^{\prime}}_{Z_{\delta_{q}}}}}} \right\rbrack}.}} & (21) \end{matrix}$

If the damping term is large, then the transient response of dynamic controller (18) is very fast and thus can be neglected in an application scenario. In other words, the dynamic controller (18) will reach its steady state value fast (within a few step samples). Assuming that the inertia cross products are neglegible, i.e., I_(xy)=I_(yz)=I_(xz)≅0, then it can be shown that the dominant term in equation (21) is ${\frac{m\quad D^{\prime}V_{T}\cos \quad \beta}{I_{yy}}\frac{{C^{\prime}}_{m_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)}{C_{Z_{\delta_{q}}}^{\prime}\left( {\alpha,\beta,\delta_{q}} \right)}},$

because of the large magnitude of ratio $\frac{m\quad D^{\prime}V_{T}\cos \quad \beta}{I_{yy}}.$

This term is equivalent to a “fin moment arm” term. Therefore, the damping term magnitude is directly proportional to the fin moment arm of a vehicle. That is, the larger the fin moment arm of the vehicle, the larger the damping term. Thus one could use the static controller presented in equation (20) in lieu of the dynamic controller described in equation (18) when the damping term is sufficiently large and can be removed.

Relationship between Fin Aerodynamic Coefficients

Usually, a designer is given the fin aerodynamics with respect to α, β, and δ₃ (one of the vehicle fins) and not δ_(q). directly. Therefore, one needs to relate equation (17) to an equation that is a function of the seperate fins (δ_(i) for a vehicle with i number of fins). In other words, if the fin aerodynamic database has function C_(N_(δ₃))(α, β, δ₃),

then: ${{C_{N_{\delta_{3}}}\left( {\alpha,\beta,\delta_{3}} \right)} = {{{C_{N_{\delta_{3}}}^{\prime}\left( {\alpha,\beta,\delta_{3}} \right)}\delta_{3}} + {{\underset{\_}{C}}_{N_{\delta_{q}}}\left( {\alpha,\beta,\delta_{3}} \right)}}},$

and since C_(Z_(δ_(q)))(α, β, δ_(q)) = −C_(N_(δ₃))(α, β, δ_(q)) = −2C_(N_(δ₃))(α, β, δ₃),

assuming that δ₃=−δ₁ (which corresponds to a particular vehicle configuration).

Yields: $\begin{matrix} {{C_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{q}} \right)} = {- {2\left\lbrack {{{C_{N_{\delta_{3}}}^{\prime}\left( {\alpha,\beta,\delta_{3}} \right)}\delta_{3}} + {{\underset{\_}{C}}_{N_{\delta_{3}}}\left( {\alpha,\beta,\delta_{3}} \right)}} \right\rbrack}}} \\ {= {{\left( {{- 2}\delta_{3}} \right){C_{N_{\delta_{3}}}^{\prime}\left( {\alpha,\beta,\delta_{3}} \right)}} - {2{{\underset{\_}{C}}_{N_{\delta_{3}}}\left( {\alpha,\beta,\delta_{3}} \right)}}}} \\ {= {{{C_{N_{\delta_{3}}}^{\prime}\left( {\alpha,\beta,\delta_{3}} \right)}\delta_{q}} + {{{\underset{\_}{C}}_{Z_{\delta_{q}}}\left( {\alpha,\beta,\delta_{3}} \right)}.}}} \end{matrix}$

The pitching moment relationship follows similarly. That is; $\begin{matrix} {{C_{m_{\delta_{q}}}\left( {\alpha,\beta,\delta_{3}} \right)} = {2{C_{m_{\delta_{3}}}\left( {\alpha,\beta,\delta_{3}} \right)}}} \\ {= {2\left\lbrack {{{C_{m_{\delta_{3}}}^{\prime}\left( {\alpha,\beta,\delta_{3}} \right)}\delta_{3}} + {{\underset{\_}{C}}_{m_{\delta_{3}}}\left( {\alpha,\beta,\delta_{3}} \right)}} \right\rbrack}} \\ {= {{{- {C_{m_{\delta_{3}}}^{\prime}\left( {\alpha,\beta,\delta_{3}} \right)}}\delta_{q}} + {{{\underset{\_}{C}}_{m_{\delta_{3}}}\left( {\alpha,\beta,\delta_{3}} \right)}.}}} \end{matrix}$

The controllers of equation (18) and equation (20) assume perfect state feedback α. Since state a is not directly measurable, α as a feedback signal can be estimated using the following estimation algorithms:

1. Measure angle of attack α using $\begin{matrix} {{\hat{\alpha} = {\int{\left( {{A_{ZB}/V_{T}} + \frac{\hat{\alpha}F_{x}}{m\quad V_{T}} + Q - {P\hat{\beta}} + {g\quad \cos \quad {{\theta cos\varphi}/V_{T}}}} \right){t}}}},} & (22) \end{matrix}$

 where A_(ZB) is the vertical body acceleration which is measurable via accelerometer, U is measured using a speed transducer, and P and Q are measurable via gyros. Euler angles φ and θ are updated via quaternions and side slip angle {circumflex over (β)} will be measured similar to {circumflex over (α)}.

2. Estimate angle of attack α using $\hat{\alpha} = {{\tan^{- 1}\left( \frac{W}{U} \right)}.}$

2.4.2 Tracking a Vertical Acceleration Command: Az_(cmd)

In this case, an extra step is needed in order to convert a given acceleration command Az_(cmd) to an equivalent angle α_(cmd). Once variable α_(cmd), is obtained the above control design technique can be utilized for tracking an Az_(cmd). There are two ways of converting an AZ_(cmd) to an α_(cmd). One way is to build a nonlinear equation that relates Az_(cmd) to an α_(cmd). Second, one can use a linearized transfer function given by: ${{\frac{\alpha \left( \deg \right)}{N_{z}\left( {g^{\prime}s} \right)}\quad (s)} = {\frac{\alpha}{\delta_{q}}\quad (s)\quad \frac{\delta_{q}}{N_{z}}\quad (s)}},\quad {where}$ ${{\frac{\alpha}{\delta_{q}}\quad (s)} = \frac{{{- Z_{\delta_{q}}}s} - {Z_{\delta_{q}}\left( {M_{\overset{.}{\theta}} + M_{\overset{.}{\alpha}}} \right)} + {M_{\delta_{q}}U} + {M_{\overset{.}{\alpha}}Z_{\delta_{q}}}}{{Us}^{2} + {\left\lbrack {Z_{\alpha} + {U\left( {M_{\overset{.}{\alpha}} + M_{\overset{.}{\theta}}} \right)}} \right\rbrack s} + {M_{\alpha}U} + {M_{\overset{.}{\theta}}Z_{\alpha}}}},{{\frac{\delta_{q}}{N_{z}}\quad (s)} = {32.2\quad {\frac{{Us}^{2} + {\left\lbrack {Z_{\alpha} + {U\left( {M_{\overset{.}{\alpha}} + M_{\overset{.}{\theta}}} \right)}} \right\rbrack s} + {M_{\alpha}U} + {M_{\overset{.}{\theta}}Z_{\alpha}}}{U\left\lbrack {{Z_{\delta_{q}}s^{2}} + {{Z_{\delta_{q}}\left( {M_{\overset{.}{\alpha}} + M_{\overset{.}{\theta}}} \right)}s} + {M_{\delta_{q}}Z_{\alpha}} + {M_{\alpha}Z_{\delta_{q}}}} \right\rbrack}.}}}$

As a result, the transfer function relating angle a to acceleration N_(z) is given by: ${\frac{\alpha \left( \deg \right)}{N_{z}\left( {g^{\prime}s} \right)}\quad (s)} = {{- 32.2}\quad {\frac{{Z_{\delta_{q}}s} + {Z_{\delta_{q}}\left( {M_{\overset{.}{\theta}} + M_{\overset{.}{\alpha}}} \right)} - {M_{\delta_{q}}U} - {M_{\overset{.}{\alpha}}Z_{\delta_{q}}}}{U\left\lbrack {{Z_{\delta_{q}}s^{2}} + {{Z_{\delta_{q}}\left( {M_{\overset{.}{\alpha}} + M_{\overset{.}{\theta}}} \right)}s} + {M_{\delta_{q}}Z_{\alpha}} + {M_{\alpha}Z_{\delta_{q}}}} \right\rbrack}.}}$

The coefficients of the above transfer function are defined to be: $\begin{matrix} {{Z_{\alpha} = {\frac{\overset{\_}{q}\quad S}{m}\quad C_{N_{\alpha}}}},} & {{Z_{\delta_{q}} = {\frac{\overset{\_}{q}\quad S}{m}\quad C_{N_{\delta_{q}}}}},} \\ {{M_{\alpha} = {\frac{\overset{\_}{q}\quad {SD}}{I_{yy}}\quad C_{M_{\alpha}}}},} & {{M_{\delta_{q}} = {\frac{\overset{\_}{q}\quad {SD}}{I_{yy}}\quad C_{M_{\delta_{q}}}}},} \\ {{M_{\overset{.}{\alpha}} = {\frac{\overset{\_}{q}\quad {SD}^{2}}{2{UI}_{yy}}\quad C_{M_{\overset{.}{\alpha}}}}},} & {M_{\overset{.}{\theta}} = {\frac{\overset{\_}{q}\quad {SD}^{2}}{2{UI}_{yy}}\quad {C_{M_{\overset{.}{\theta}}}.}}} \end{matrix}$

The choice of a nonlinear equation versus a transfer function depends on memory size versus processing speed.

In the case where α_(cmd) is calculated using the transfer function approach, a Low Pass Filter can be added in order to help in attenuating high frequency components of the commanded input angle alpha α_(cmd), i.e., smooth out the transient response. The addition of the filter aids in reaching a steady state response α faster, which is desired, since the objective is to convert an Az_(cmd) to some constant (steady state) α_(cmd).

If one needs to track a “square wave type” α_(cmd), where the signal changes value, it is desirable to modify gains k₁ and k₂ by adding a term that is proportional to signal {dot over (α)}_(cmd) as follows:

k ₁=10−45|sin({dot over (α)}_(cmd)/57.3)|,

k ₂=10−45|sin({dot over (α)}_(cmd)/57.3)|.

The advantage of such a choice for gains k₁ and k₂ is a reduction in the percentage overshoot of state α. The choice of control gains (values 10 and 45) depends on the requirements for the vehicle's performance and there is always a trade-off between fast error convergence and percentage overshoot.

In case signal α_(cmd) is noisy/delayed, one approach is to use the error signal in order to modify the control gains and avoid large signal overshoot. This can be accomplished as follows, let e={circumflex over (α)}−α_(cmd) where {circumflex over (α)} is the measured state and could be distorted, then choose the modified gains to be of the form:

k ₁ =K ₁ −c ₁ |e|,

k ₂ =K ₂ −c ₂ |e|,

where K_(i) are the usual constant gains and nonlinear functions c_(i)>0 are chosen by the designer in order to yield a “suboptimal” and critical damping trajectory tracking performance. That is, depending on the vehicle dynamics, one should adjust functions c_(i) to obtain desired system performance: overshoot versus settling time. The larger the c_(i)'s, the smaller the overshoot, but the longer the settling time. It is a trade-off that the designer must be aware of.

2.5 Horizontal Channel

Continuing with the control design in which sideslip angle β tracks a desired commanded angle β_(cmd), similar to the above discussion, one can demonstrate that one can track a commanded acceleration Ay_(cmd).

Vehicle dynamic equations in the horizontal plane are governed by: $\begin{matrix} \begin{matrix} \begin{matrix} {\overset{.}{\beta} = \quad {{\frac{F_{Y}}{m\quad V_{T}}\quad \cos \quad \beta} - {\frac{F_{X}}{m\quad V_{T}}\quad \cos \quad \alpha \quad \sin \quad \beta} - {\frac{F_{Z}}{m\quad V_{T}}\quad \sin \quad \alpha \quad \sin \quad \beta} -}} \\ {\quad {{R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha}}} \end{matrix} \\ \begin{matrix} {\overset{.}{R} = \quad {\frac{1}{\Delta}\left\lbrack {{{- \left( {{I_{xy}I_{yz}} + {I_{yy}I_{xz}}} \right)}\left( {A + L} \right)} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {B + M} \right)} +} \right.}} \\ {\left. \quad {\left( {I_{xz}^{2} - {I_{xx}I_{zyy}}} \right)\left( {C + N} \right)} \right\rbrack,} \end{matrix} \end{matrix} & (23) \end{matrix}$

When it is desired to track a commanded input angle β, a simple linear transformation is needed in order to facilitate this process. Select the state transform

z ₃=β−β_(cmd),

where β_(cmd) is some desired commanded sideslip angle. Differentiating, yields: $\begin{matrix} {{\overset{.}{z}}_{3} = \quad {{\frac{F_{Y}}{m\quad V_{T}}\quad \cos \quad \beta} - {\frac{F_{X}}{m\quad V_{T}}\quad \cos \quad \alpha \quad \sin \quad \beta} - {\frac{F_{Z}}{m\quad V_{T}}\quad \sin \quad \alpha \quad \sin \quad \beta} -}} \\ {\quad {{R\quad \cos \quad \alpha} + {P\quad \sin \quad \alpha} - {{\overset{.}{\beta}}_{cmd}.}}} \end{matrix}$

State z₃ should converge to zero asymptotically. Thus define new state z₄ as follows:

z ₄ ={dot over (z)} ₃ +k ₃ z ₃,

for some control gain k₃>0. In order to drive z₃ to zero, one must make state z₄ converge to zero. Differentiating the above equation yields: $\begin{matrix} \begin{matrix} {{\overset{.}{z}}_{4} = \quad \left( {{R\quad \sin \quad \alpha} + {P\quad \cos \quad \alpha} + {\sin \quad \alpha \quad \sin \quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} -} \right.} \\ {{\left. \quad {\cos \quad \alpha \quad \sin \quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}} \right)\overset{.}{\alpha}} + \left( {k_{3} - {\sin \quad {\beta \left\lbrack \frac{F_{Y}}{m\quad V_{T}} \right\rbrack}} -} \right.} \\ {{\left. \quad {{\cos \quad \alpha \quad \cos \quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} - {\sin \quad \alpha \quad \cos \quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right)\overset{.}{\beta}} +} \\ {\quad {{\left( {{F_{X}\cos \quad \alpha \quad \sin \quad \beta} - {F_{Y}\cos \quad \beta} + {F_{Z}\sin \quad \alpha \quad \sin \quad \beta}} \right)\left( {\frac{\overset{.}{m}}{m^{2}} + \frac{{\overset{.}{V}}_{T}}{V_{T}^{2}}} \right)} +}} \\ {\quad {{\overset{.}{P}\quad \sin \quad \alpha} - {\overset{.}{R}\quad \cos \quad \alpha} - {\frac{1}{m\quad V_{T}}\quad \left( {{{\overset{.}{F}}_{X}\quad \cos \quad \alpha \quad \sin \quad \beta} - {{\overset{.}{F}}_{Y}\cos \quad \beta} +} \right.}}} \\ {\left. \quad {{\overset{.}{F}}_{Z}\sin \quad \alpha \quad \sin \quad \beta} \right) - {\overset{..}{\beta}}_{cmd} - {k_{3}{\overset{.}{\beta}}_{cmd}}} \end{matrix} & (24) \end{matrix}$

In order to drive state z₄ to zero asymptotically, a simple choice is to to have

z ₄ =−k ₄ z ₄, where gain k₄>0.

Therefore: $\begin{matrix} {{{\left( {{R\quad \sin \quad \alpha} + {P\quad \cos \quad \alpha} + {\sin \quad \alpha \quad \sin \quad {\beta \quad\left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} - {\cos \quad \alpha \quad \sin \quad {\beta \quad\left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right)\overset{.}{\alpha}} + {\left( {k_{3} + k_{4} - {\sin \quad {\beta \quad\left\lbrack \frac{F_{Y}}{m\quad V_{T}} \right\rbrack}} - {\cos \quad \alpha \quad \cos \quad {\beta \quad\left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} - \quad {\sin \quad \alpha \quad \cos \quad {\beta \quad\left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right)\overset{.}{\beta}} + {\left( {{F_{X}\cos \quad \alpha \quad \sin \quad \beta} - {F_{Y}\cos \quad \beta} + {F_{Z}\sin \quad {\alpha sin}\quad \beta}} \right)\quad \left( {\frac{\overset{.}{m}}{m^{2}} + \frac{{\overset{.}{V}}_{T}}{V_{T}^{2}}} \right)} + {\overset{.}{P}\sin \quad \alpha} - {\overset{.}{R}\cos \quad \alpha} - {\frac{1}{m\quad V_{T}}\left( {{{\overset{.}{F}}_{X}\cos \quad {\alpha sin}\quad \beta} - {{\overset{.}{F}}_{Y}\cos \quad \beta} + {{\overset{.}{F}}_{Z}\sin \quad {\alpha sin}\quad \beta}} \right)} + {k_{3}k_{4}z_{3}} - {\left( {k_{3} + k_{4}} \right){\overset{.}{\beta}}_{cmd}} - {\overset{¨}{\beta}}_{cmd}} = 0.} & (25) \end{matrix}$

Substituting dynamics {dot over (α)}, {dot over (β)}, {dot over (P)}, and {dot over (R)} into equation (25) and regrouping yields: $\begin{matrix} {{\frac{\cos \quad \beta}{m\quad V_{T}}{\overset{.}{F}}_{Y}} = {{{- \frac{1}{m\quad V_{T}}}\left( {{\left( {k_{3} + k_{4}} \right)\cos \quad \beta} + {\left( {{R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)\sin \quad \beta} - {\cos \quad \left( {2\beta} \right)\left\{ {{\cos \quad {\alpha \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} + {\sin \quad {\alpha \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right\}} - {\cos \quad {\beta \left( {\frac{\overset{.}{m}}{m^{2}} + \frac{{\overset{.}{V}}_{T}}{V_{T}^{2}}} \right)}}} \right)F_{Y}} + {\frac{\cos \quad {\beta sin\beta}}{\left( {m\quad V_{T}} \right)^{2}}F_{Y}^{2}} + {\left( {k_{3} + k_{4} - {\cos \quad {\alpha cos}\quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} - {\sin \quad \alpha \quad \cos \quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right) \times \left( {{\cos \quad {\alpha sin}\quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} + {\sin \quad {\alpha sin}\quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}} + {R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)} - {\left( {{R\quad \sin \quad \alpha} + {P\quad \cos \quad \alpha} + {\sin \quad {\alpha sin}\quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} - {\cos \quad {\alpha sin}\quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right) \times \left( {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z}}{m}} + Q - {P\quad \cos \quad \alpha \quad \tan \quad \beta} - {R\quad \sin \quad \alpha \quad \tan \quad \beta}} \right)} - {\left( {{F_{X}\cos \quad {\alpha sin}\quad \beta} + {F_{Z}\quad \sin \quad \alpha \quad \sin \quad \beta}} \right)\quad \left( {\frac{\overset{.}{m}}{m^{2}} + \frac{{\overset{.}{V}}_{T}}{V_{T}^{2}}} \right)} - {\frac{\sin \quad \alpha}{\Delta}\left\lbrack {{\left( {I_{yz}^{2} - {I_{yy}I_{zz}}} \right)\quad \left( {A + L} \right)} - {\left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right)\quad \left( {B\quad + M} \right)} - {\left( {{I_{xz}I_{yy}} + {I_{xy}I_{yz}}} \right)\quad \left( {C + N} \right)}} \right\rbrack} + {\frac{\cos \quad \alpha}{\Delta \quad}\left\lbrack {{{- \left( {{I_{xy}I_{yz}} + {I_{yy}I_{xz}}} \right)}\quad \left( {A + L} \right)} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\quad \left( {B + M} \right)} + {\left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)\quad \left( {C + N} \right)}} \right\rbrack} + {\overset{¨}{\beta}}_{cmd} + {\left( {k_{3} + k_{4}} \right)\quad {\overset{.}{\beta}}_{cmd}} + {\frac{1}{m\quad V_{T}}\left( {{{\overset{.}{F}}_{X}\cos \quad {\alpha sin}\quad \beta} + {{\overset{.}{F}}_{Z}\sin \quad {\alpha sin}\quad \beta}} \right)} - {k_{3}k_{4}{z_{3}.}}}} & (26) \end{matrix}$

Next, using equality F_(Y)(α, β, δ_(r)) = F_(Y_(δ_(r)))(α, β, δ_(r)) + F_(Y₀)(α, β, 0),

in equation (26) yields; $\begin{matrix} {{\frac{\cos \quad \beta}{m\quad V_{T}}{\overset{.}{F}}_{Y_{\delta_{r}}}} = {{{- \frac{1}{m\quad V_{T}}}\left( {{\left( {k_{3} + k_{4}} \right)\cos \quad \beta} + {\left( {{R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)\quad \sin \quad \beta} - {\cos \quad \left( {2\beta} \right)\quad \left\{ {{\cos \quad {\alpha \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} + {\sin \quad {\alpha \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right\}} - {\cos \quad {\beta \left( {\frac{\overset{.}{m}}{m^{2}} + \frac{{\overset{.}{V}}_{T}}{V_{T}^{2}}} \right)}}} \right)\quad F_{Y_{\delta_{r}}}} + {\frac{\cos \quad \beta \quad \sin \quad \beta}{\left( {m\quad V_{T}} \right)^{2}}F_{Y_{\delta_{r}}}^{2}} + {\frac{\cos \quad {\beta sin\beta}}{\left( {m\quad V_{T}} \right)^{2}}F_{Y0}^{2}} - {\frac{1}{m\quad V_{T}}\quad \left( {{\left( {k_{3} + k_{4}} \right)\cos \quad \beta} + {\left( {{R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)\sin \quad \beta} - {\cos \quad \left( {2\beta} \right)\quad \left\{ {{\cos \quad {\alpha \quad\left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} + {\sin \quad {\alpha \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right\}} - {\cos \quad \beta \quad \left( {\frac{\overset{.}{m}}{m^{2}} + \frac{{\overset{.}{V}}_{T}}{V_{T}^{2}}} \right)}} \right)\quad F_{Y0}} + \quad {\left( {k_{3} + \quad k_{4} - {\cos \quad \alpha \quad \cos \quad {\beta \quad\left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} - \quad {\sin \quad {\alpha cos}\quad {\beta \quad\left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right)\quad \left( {{\cos \quad {\alpha sin}\quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} + {\sin \quad {\alpha sin}\quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}} + {R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)} - \quad {\frac{\cos \quad \beta}{m\quad V_{T}}\quad {\overset{.}{F}}_{Y0}} - \quad {\left( {{R\quad \sin \quad \alpha} + {P\quad \cos \quad \alpha} + {\sin \quad {\alpha sin}\quad {\beta \quad\left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} - {\cos \quad {\alpha sin}\quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}}} \right) \times \left( {{\left( \frac{\cos \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{Z}}{m}} + {\left( \frac{\sin \quad \alpha}{V_{T}\cos \quad \beta} \right)\frac{F_{X}}{m}} + Q - {P\quad \cos \quad \alpha \quad \tan \quad \beta} - {R\quad \sin \quad {\alpha tan}\quad \beta}} \right)} - {\left( {{F_{X}\cos \quad {\alpha sin}\quad \beta} + {F_{Z}\sin \quad {\alpha sin}\quad \beta}} \right)\left( {\frac{\overset{.}{m}}{m^{2}} + \frac{{\overset{.}{V}}_{T}}{V_{T}^{2}}} \right)} - {\frac{\sin \quad \alpha}{\Delta}\left\lbrack {{\left( {I_{yz}^{2} - {I_{yy}I_{zz}}} \right)\left( {A + L} \right)} - {\left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right)\left( {B + M} \right)} - {\left( {{I_{xz}I_{yy}} + {I_{xy}I_{yz}}} \right)\left( {C + N} \right)}} \right\rbrack} + {\frac{\cos \quad \alpha}{\Delta}\left\lbrack {{{- \left( {{I_{xy}I_{yz}} + {I_{yy}I_{xz}}} \right)}\left( {A + L} \right)} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {B + M} \right)} + {\left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)\left( {C + N} \right)}} \right\rbrack} + {\overset{¨}{\beta}}_{cmd} + {\left( {k_{3} + K_{4}} \right){\overset{.}{\beta}}_{cmd}} + {\frac{1}{m\quad V_{T}}\left( {{{\overset{.}{F}}_{X}\cos \quad {\alpha sin}\quad \beta} + {{\overset{.}{F}}_{Z}\sin \quad {\alpha sin}\quad \beta}} \right)} - {k_{3}k_{4}{z_{3}.}}}} & (27) \end{matrix}$

The solution of force controller differential equation (27) is an amount of force acting on a vehicle for a given side slip angle command (or equivalently an acceleration command). The controller of equation (27) can be applied to air-borne vehicles that use fin control, thrust vector control, thruster control, or other means to control the vehicle. For vehicles using fins as means of control, when designing a linear autopilot controller, one assumes a linear relationship between force and. fin deflection described by: ${{F_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)} \simeq {\overset{\_}{q}S_{Y_{\delta_{q}}}\delta_{r}}},$

where the force aerodynamic coefficient C_(Y_(δ_(r)))

is constant and represents the slope of the force aerodynamic in the linear region (pre-stall region). The drawback of using a linearized force aerodynamic coefficient is that the autopilot controller cannot control a vehicle in the post-stall region or even close to the fin stall point. That is why linear autopilot controllers limit the fin deflection displacement to the linear region of operation where the rate of change of force aerodynamic coefficient C_(Y_(δ_(r)))

is constant for a range of fin deflection values. In the development of the Stall and Recovery Control System (SARCS), the nonlinear aerodynamic function representing force $F_{Y_{\delta_{r}}}\left( {{F_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)} = {\overset{\_}{q}{{SC}_{Y_{\delta_{q}}}\left( {\alpha,\beta,\delta_{r}} \right)}}} \right)$

for a given mach number are utilized. The challenge of using nonlinear function F_(Y_(δ_(r)))(α, β, δ_(r))

is that for a given F_(Y_(δ_(r)))(α, β, δ_(r))

command signal, there exists more than one fin deflection command δ_(r). In other words, mapping δ_(r_(cmd)) = (F_(Y_(δ_(r))))

is not one-to-one, i.e., mapping (·) is not a function. The next section discusses a way of solving this problem to yield a one-to-one mapping for (·). Differential equation (27) can be adjusted so as to have a fin deflection differential equation, since an autopilot controller usually outputs fin deflection commands; So using $\begin{matrix} {{{F_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)} = {\overset{\_}{q}{{SC}_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)}}},} & (28) \end{matrix}$

and calculating the derivative yields: $\begin{matrix} \begin{matrix} {{{\overset{.}{F}}_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)} = \quad {{\overset{\overset{.}{\_}}{q}{{SC}_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)}} + {\overset{\_}{q}S\quad {{\overset{.}{C}}_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)}}}} \\ {= \quad {{\overset{\overset{.}{\_}}{q}{{SC}_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)}} + {\overset{\_}{q}{S\left( {\frac{\partial}{\partial\alpha}{C_{Y_{\delta_{r}}}( \cdot )}\overset{.}{\alpha +}} \right.}}}} \\ {\left. \quad {{\frac{\partial}{\partial\beta}{C_{Y_{\delta_{r}}}( \cdot )}\overset{.}{\beta}} + {\frac{\partial}{\partial\delta_{r}}{C_{Y_{\delta_{r}}}( \cdot )}{\overset{.}{\delta}}_{r}}} \right).} \end{matrix} & (29) \end{matrix}$

Substituting equations (28) and (29) into force differential equation (27) and re-grouping the terms yields: $\begin{matrix} {{\frac{\overset{\_}{q}S\quad \cos \quad \beta}{m\quad V_{T}}C_{Y_{\delta_{r}}}^{\prime}{\overset{.}{\delta}}_{r}} = {{{- \frac{\overset{\_}{q}S}{m\quad V_{T}}}\left( {{\left( {k_{3} + k_{4}} \right)\cos \quad \beta} + {\left( {{R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)\sin \quad \beta} - {\cos \quad \left( {2\beta} \right)\left\{ {{\cos \quad {\alpha \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} + {\sin \quad {\alpha \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right\}} - {\cos \quad {\beta \left( {\frac{\overset{.}{m}}{m^{2}} + \frac{{\overset{.}{V}}_{T}}{V_{T}^{2}} - \frac{\overset{\overset{.}{\_}}{q}}{\overset{\_}{q}}} \right)}} + {\frac{\overset{\_}{q}S\quad {\cos \quad}^{2}\beta}{m\quad V_{T}}\frac{\partial}{\partial\beta}C_{Y_{\delta_{r}}}}} \right)C_{Y_{\delta_{r}}}} + {\frac{{\overset{\_}{q}}^{2}S^{2}\cos \quad {\beta sin}\quad \beta}{\left( {m\quad V_{T}} \right)^{2}}C_{Y_{\delta_{r}}}^{2}} + {\frac{\cos \quad {\beta sin\beta}}{\left( {m\quad V_{T}} \right)^{2}}F_{Y0}^{2}} - {\frac{1}{m\quad V_{T}}\left( {{\left( {k_{3} + k_{4}} \right)\cos \quad \beta} + {\left( {{R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)\sin \quad \beta} - {\cos \quad \left( {2\beta} \right)\quad \left\{ {{\cos \quad {\alpha \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} + {\sin \quad {\alpha \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right\}} - {\cos \quad {\beta \left( {\frac{\overset{.}{m}}{m^{2}} + \frac{\overset{.}{V_{T}}}{V_{T}^{2}}} \right)}} + {\frac{\overset{\_}{q}S\quad \cos^{2}\beta}{m\quad V_{T}}\frac{\partial}{\partial\beta}C_{Y_{\delta_{r}}}}} \right)F_{Y0}} + {\left( {k_{3} + k_{4} - {\cos \quad {\alpha cos}\quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} - {\sin \quad {\alpha cos}\quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}} + {\frac{\overset{\_}{q}S\quad \cos \quad \beta}{m\quad V_{T}}\frac{\partial}{\partial\beta}C_{Y_{\delta_{r}}}}} \right) \times \left( {{\cos \quad {\alpha sin}\quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} + {\sin \quad {\alpha sin}\quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}} + {R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)} - {\frac{\cos \quad \beta}{m\quad V_{T}}\left( {{\overset{\overset{.}{\_}}{q}{SC}_{Y0}} + {\overset{\_}{q}S\quad {\overset{.}{C}}_{Y0}}} \right)} - {\left( {{R\quad \sin \quad \alpha} + {P\quad \cos \quad \alpha} + {\sin \quad {\alpha sin}\quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} - {\cos \quad {\alpha sin}\quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}} + {\frac{\overset{\_}{q}S\quad \cos \quad \beta}{m\quad V_{T}}\frac{\partial}{\partial\alpha}C_{Y_{\delta_{r}}}}} \right) \times \left( {{\frac{\cos \quad \alpha}{V_{T}\cos \quad \beta}\frac{F_{Z}}{m}} + {\frac{\sin \quad \alpha}{V_{T}\cos \quad \beta}\quad \frac{F_{X}}{m}} + Q - {P\quad \cos \quad {\alpha tan}\quad \beta} - {R\quad \sin \quad {\alpha tan}\quad \beta}} \right)} - {\left( {{F_{X}\cos \quad {\alpha sin\beta}} + {F_{Z}\sin \quad {\alpha sin}\quad \beta}} \right)\left( {\frac{\overset{.}{m}}{m^{2}} + \frac{\overset{.}{V_{T}}}{V_{T}^{2}}} \right)} - {\frac{\sin \quad \alpha}{\Delta \quad}\left\lbrack {{\left( {I_{yz}^{2} - {I_{yy}I_{zz}}} \right)\quad \left( {A + L} \right)} - {\left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right)\left( {B + M} \right)} - {\left( {{I_{xz}I_{yy}} + {I_{xy}I_{yz}}} \right)\quad \left( {C + N} \right)}} \right\rbrack} + {\frac{\cos \quad \alpha}{\Delta}\left\lbrack {{{- \left( {{I_{xy}I_{yz}} + {I_{yy}I_{xz}}} \right)}\left( {A + L} \right)} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {B + M} \right)} + {\left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)\left( {C + N} \right)}} \right\rbrack} + {\overset{¨}{\beta}}_{cmd} + {\left( {k_{3} + k_{4}} \right){\overset{.}{\beta}}_{cmd}} + {\frac{1}{m\quad V_{T}}\left( {{{\overset{.}{F}}_{X}\cos \quad {\alpha sin}\quad \beta} + {{\overset{.}{F}}_{Z}\sin \quad {\alpha sin}\quad \beta}} \right)} - {k_{3}k_{4}{z_{3}.}}}} & (30) \\ {{{where}\quad {C_{Y_{\delta_{r}}}^{\prime}\left( {\alpha,\beta,\delta_{r}} \right)}} \equiv {\frac{\partial}{\partial\delta_{r}}{{C_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)}.}}} & \quad \end{matrix}$

2.5.1 Slope-Intercept Design Format

Similar to the discussion in section 2.4.1, this method resolves the aerodynamic function as follows: ${{C_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)} = {{\frac{\partial}{\partial\delta_{r}}{C_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)}} + {{\underset{\_}{C}}_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)}}},\quad {or}$ ${{C_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)} = {{{C_{Y_{\delta_{r}}}^{\prime}\left( {\alpha,\beta,\delta_{r}} \right)}\delta_{r}} + {{\underset{\_}{C}}_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)}}},$

where ${\underset{\_}{C}}_{Y_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)$

denotes the “intercept” of C_(Y_(δ_(r)))(α, β, δ_(r)).

Thus, with this in mind, equation (30) becomes: $\begin{matrix} {{\frac{\overset{\_}{q}\quad S\quad \cos \quad \beta}{m\quad V_{T}}C_{Y_{\delta_{r}}}^{\prime}{\overset{.}{\delta}}_{r}} = {{{- \frac{\overset{\_}{q}\quad S}{m\quad V_{T}}}\left( {{\left( {k_{3} + k_{4}} \right)\cos \quad \beta} + {\left( {{R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)\sin \quad \beta} - {{\cos \left( {2\beta} \right)}\left\{ {{\cos \quad {\alpha \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} + {\sin \quad {\alpha \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right\}} - {\cos \quad {\beta \left( {\frac{\overset{.}{m}}{m^{2}} + \frac{{\overset{.}{V}}_{T}}{V_{T}^{2}} - \frac{\overset{.}{\overset{\_}{q}}}{\overset{\_}{q}}} \right)}} + {\frac{\overset{\_}{q}\quad S\quad \cos^{2}\beta}{m\quad V_{T}}\frac{\partial}{\partial\beta}C_{Y_{\delta_{r}}}}} \right)\left( {{C_{Y_{\delta_{r}}}^{\prime}\delta_{r}} + {\underset{\_}{C}}_{Y_{\delta_{r}}}} \right)} + {\frac{{\overset{\_}{q}}^{2}S^{2}\cos \quad {\beta sin}\quad \beta}{\left( {m\quad V_{T}} \right)^{2}}C_{Y_{\delta_{r}}}^{2}} + {\frac{\cos \quad \beta \quad \sin \quad \beta}{\left( {m\quad V_{T}} \right)^{2}}F_{Y0}^{2}} - {\frac{1}{m\quad V_{T}}\left( {{\left( {k_{3} + k_{4}} \right)\cos \quad \beta} + {\left( {{R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)\sin \quad \beta} - {{\cos \left( {2\beta} \right)}\left\{ {{\cos \quad {\alpha \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} + {\sin \quad {\alpha \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right\}} - {\cos \quad {\beta \left( {\frac{\overset{.}{m}}{m^{2}} + \frac{{\overset{.}{V}}_{T}}{V_{T}^{2}}} \right)}} + {\frac{\overset{\_}{q}\quad S\quad \cos^{2}\beta}{m\quad V_{T}}\frac{\partial}{\partial\beta}C_{Y_{\delta_{r}}}}} \right)F_{Y0}} + {\left( {k_{3} + k_{4} - {\cos \quad \alpha \quad \cos \quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} - {\sin \quad \alpha \quad \cos \quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}} + {\frac{\overset{\_}{q}\quad S\quad \cos \quad \beta}{m\quad V_{T}}\frac{\partial}{\partial\beta}C_{Y_{\delta_{r}}}}} \right)\left( {{\cos \quad \alpha \quad \sin \quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} + {\sin \quad \alpha \quad \sin \quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}} + {R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)} - {\frac{\cos \quad \beta}{m\quad V_{T}}\left( {{\overset{.}{\overset{\_}{q}}\quad {SC}_{Y0}} + {\overset{\_}{q}\quad S\quad {\overset{.}{C}}_{Y0}}} \right)} - {\left( {{R\quad \sin \quad \alpha} + {P\quad \cos \quad \alpha} + {\sin \quad \alpha \quad \sin \quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} - {\cos \quad \alpha \quad \sin \quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}} + {\frac{\overset{\_}{q}\quad S\quad \cos \quad \beta}{m\quad V_{T}}\frac{\partial}{\partial\alpha}C_{Y_{\delta_{r}}}}} \right)\left( {{\frac{\cos \quad \alpha}{V_{T}\cos \quad \beta}\frac{F_{Z}}{m}} + {\frac{\sin \quad \alpha}{V_{T}\cos \quad \beta}\frac{F_{X}}{m}} + Q - {P\quad \cos \quad {\alpha tan\beta}} - {R\quad \sin \quad \alpha \quad \tan \quad \beta}} \right)} - {\left( {{F_{X}\cos \quad \alpha \quad \sin \quad \beta} + {F_{Z}\sin \quad {\alpha sin}\quad \beta}} \right)\left( {\frac{\overset{.}{m}}{m^{2}} + \frac{{\overset{.}{V}}_{T}}{V_{T}^{2}}} \right)} - {\frac{\sin \quad \alpha}{\Delta}\left\lbrack {{\left( {I_{yz}^{2} - {I_{yy}I_{zz}}} \right)\left( {A + L} \right)} - {\left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right)\left( {B + M} \right)} - {\left( {{I_{xz}I_{yy}} + {I_{xy}I_{yz}}} \right)\left( {C + N} \right)}} \right\rbrack} + {\frac{\cos \quad \alpha}{\Delta}\left\lbrack {{{- \left( {{I_{xz}I_{yz}} + {I_{uy}I_{xz}}} \right)}\left( {A + L} \right)} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {B + M} \right)} + {\left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)\left( {C + N} \right)}} \right\rbrack} + {\overset{¨}{\beta}}_{cmd} + {\left( {k_{3} + k_{4}} \right){\overset{.}{\beta}}_{cmd}} + {\frac{1}{m\quad V_{T}}\left( {{{\overset{.}{F}}_{X}\cos \quad \alpha \quad \sin \quad \beta} + {{\overset{.}{F}}_{Z}\sin \quad \alpha \quad \sin \quad \beta}} \right)} - {k_{3}k_{4}{z_{3}.}}}} & (31) \end{matrix}$

The above differential equation works well when C_(Y_(δ_(r)))^(′)

is away from zero. However, as a vehicle approaches stall condition, i.e., C_(Y_(δ_(r)))^(′) ≃ 0,

it causes a singularity in equation (31) which leads to a problem in obtaining the differential equation solution for α_(r). A solution to this problem is to neglect all the terms in equation (31) that are multiplied by C_(Y_(δ_(r)))^(′).

Therefore, from moment equation N in equation (8), rewriting $\begin{matrix} {{{C_{n_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)} = {{{C_{n_{\delta_{r}}}^{\prime}\left( {\alpha,\beta,\delta_{r}} \right)}\delta_{r}} + {{\underset{\_}{C}}_{n_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)}}},} & (32) \end{matrix}$

where C_(n_(δ_(r)))^(′)(α, β, δ_(r))

is the slope function of ${C_{n_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)}\quad {and}\quad {{\underset{\_}{C}}_{n_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)}$

is the C_(n_(δ_(r)))(α, β, δ_(r))

intercept function; and solving for δ_(r); the form of an analytical solution controller (closed form solution) for C_(Y_(δ_(r)))^(′) ≃ 0

is given by: $\begin{matrix} {{{{\Lambda \quad \delta_{r}} = {{{- \frac{\overset{\_}{q}\quad S}{m\quad V_{T}}}\left( {{\left( {k_{3} + k_{4}} \right)\cos \quad \beta} + {\left( {{R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)\sin \quad \beta} - {{\cos \left( {2\beta} \right)}\left\{ {{\cos \quad {\alpha \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} + {\sin \quad {\alpha \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right\}} - {\cos \quad {\beta \left( {\frac{\overset{.}{m}}{m^{2}} + \frac{{\overset{.}{V}}_{T}}{V_{T}^{2}} - \frac{\overset{.}{\overset{\_}{q}}}{\overset{\_}{q}}} \right)}} + {\frac{\overset{\_}{q}\quad S\quad \cos^{2}\beta}{m\quad V_{T}}\frac{\partial}{\partial\beta}C_{Y_{\delta_{r}}}}} \right){\underset{\_}{C}}_{Y_{\delta_{r}}}} + {\frac{{\overset{\_}{q}}^{2}S^{2}\cos \quad \beta \quad \sin \quad \beta}{\left( {m\quad V_{T}} \right)^{2}}{\underset{\_}{C}}_{Y_{\delta_{r}}}^{2}} + {\frac{\cos \quad {\beta sin}\quad \beta}{\left( {m\quad V_{T}} \right)^{2}}F_{Y0}^{2}} - {\frac{1}{m\quad V_{T}}\left( {{\left( {k_{3} + k_{4}} \right)\cos \quad \beta} + {\left( {{R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)\sin \quad \beta} - {{\cos \left( {2\beta} \right)}\left\{ {{\cos \quad {\alpha \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} + {\sin \quad {\alpha \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}}} \right\}} - {\cos \quad {\beta \left( {\frac{\overset{.}{m}}{m^{2}} + \frac{{\overset{.}{V}}_{T}}{V_{T}^{2}}} \right)}} + {\frac{\overset{\_}{q\quad}S\quad \cos^{2}\beta}{m\quad V_{T}}\frac{\partial}{\partial\beta}{\underset{\_}{C}}_{Y_{\delta_{r}}}}} \right)F_{Y0}} + {\left( {k_{3} + k_{4} - {\cos \quad \alpha \quad \cos \quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} - {\sin \quad \alpha \quad \cos \quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}} + {\frac{\overset{\_}{q}\quad S\quad \cos \quad \beta}{m\quad V_{T}}\frac{\partial}{\partial\beta}{\underset{\_}{C}}_{Y_{\delta_{r}}}}} \right)\left( {{\cos \quad {\alpha sin}\quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} + {\sin \quad \alpha \quad \sin \quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}} + {R\quad \cos \quad \alpha} - {P\quad \sin \quad \alpha}} \right)} - {\frac{\cos \quad \beta}{m\quad V_{T}}\left( {{\overset{.}{\overset{\_}{q}\quad}{SC}_{Y0}} + {\overset{\_}{q}\quad S\quad {\overset{.}{C}}_{Y0}}} \right)} - {\left( {{R\quad \sin \quad \alpha} + {P\quad \cos \quad \alpha} + {\sin \quad \alpha \quad \sin \quad {\beta \left\lbrack \frac{F_{X}}{m\quad V_{T}} \right\rbrack}} - {\cos \quad \alpha \quad \sin \quad {\beta \left\lbrack \frac{F_{Z}}{m\quad V_{T}} \right\rbrack}} + {\frac{\overset{\_}{q}\quad S\quad \cos \quad \beta}{m\quad V_{T}}\frac{\partial}{\partial\alpha}{\underset{\_}{C}}_{Y_{\delta_{r}}}}} \right)\left( {{\frac{\cos \quad \alpha}{V_{T}\cos \quad \beta}\frac{F_{Z}}{m}} + {\frac{\sin \quad \alpha}{V_{T}\cos \quad \beta}\frac{F_{X}}{m}} + Q - {P\quad \cos \quad {\alpha tan}\quad \beta} - {R\quad \sin \quad \alpha \quad \tan \quad \beta}} \right)} - {\left( {{F_{X}\cos \quad {\alpha sin\beta}} + {F_{Z}\sin \quad \alpha \quad \sin \quad \beta}} \right)\left( {\frac{\overset{.}{m}}{m^{2}} + \frac{{\overset{.}{V}}_{T}}{V_{T}^{2}}} \right)} - {\frac{\sin \quad \alpha}{\Delta}\left\lbrack {{\left( {I_{yz}^{2} - {I_{yy}I_{zz}}} \right)\left( {A + L} \right)} - {\left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right)\left( {B + M} \right)} - {\left( {{I_{xz}I_{yy}} + {I_{xy}I_{yz}}} \right)\left( {C + N_{1}} \right)}} \right\rbrack} + {\frac{\cos \quad \alpha}{\Delta}\left\lbrack {{{- \left( {{I_{xy}I_{yz}} + {I_{yy}I_{xz}}} \right)}\left( {A + L} \right)} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\left( {B + M} \right)} + {\left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)\left( {C + N_{1}} \right)}} \right\rbrack} + {\overset{¨}{\beta}}_{cmd} + {\left( {k_{3} + k_{4}} \right){\overset{.}{\beta}}_{cmd}} + {\frac{1}{m\quad V_{T}}\left( {{{\overset{.}{F}}_{X}\cos \quad \alpha \quad \sin \quad \beta} + {{\overset{.}{F}}_{Z}\sin \quad \alpha \quad \sin \quad \beta}} \right)} - {k_{3}k_{4}z_{3}}}},{where}}{{\Lambda = {\frac{\overset{\_}{q}\quad {SD}}{\Delta}\left( {{\left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)\cos \quad \alpha} - {\left( {{I_{xz}I_{yy}} + {I_{xy}I_{yz}}} \right)\sin \quad \alpha}} \right){C_{n_{\delta_{r}}}^{\prime}\left( {\alpha,\beta,\delta_{r}} \right)}}},{N_{1} = {\overset{\_}{q}\quad {{{SD}\left( {{C_{n0}\left( {\alpha,\beta} \right)} + {{\underset{\_}{C}}_{n_{\delta_{r}}}\left( {\alpha,\beta,\delta_{r}} \right)} + {\frac{D}{2U}\left\lbrack {{C_{n_{p}}P} + {C_{n_{r}}R}} \right\rbrack}} \right)}.}}}}} & (33) \end{matrix}$

The above analytical solution (static) controller is singular as C_(n_(δ_(r)))^(′)

approaches zero. Thus, the present invention addresses the need for a mixing algorithm that switches between the static controller of equation (33) and the dynamic controller of equation (31) to avoid any control singularity. Following similar discussions presented in section 2.2.1, it can shown that the static controller (33) can be substituted for the dynamic controller (31) not only close to fin stall condition (C_(Y_(δ_(r)))^(′) ≃ 0),

but for all times because of the large damping term which is dominated by term (neglecting inertia cross products I_(xy), I_(xz), and I_(yz)) $\frac{m\quad D\quad V_{T}\cos \quad \alpha}{I_{zz}}{\frac{C_{n_{\delta_{r}}}^{\prime}\left( {\alpha,\beta,\delta_{r}} \right)}{C_{Y_{\delta_{r}}}^{\prime}\left( {\alpha,\beta,\delta_{r}} \right)}.}$

Controllers of equation(31) and equation (33) assume perfect state feedback β. Since state β is not measurable, β as a feedback signal can be estimated by using the following estimation algorithms:

The side slip angle can be measured using: $\begin{matrix} {{\hat{\beta} = {\int{\left( {{A_{YB}/V_{T}} - \frac{\hat{\beta}\quad F_{x}}{m\quad V_{T}} - R + {P\quad \hat{\alpha}}} \right){t}}}},} & (34) \end{matrix}$

where A_(YB) is the horizontal body acceleration and is measurable via accelerometer, V_(T) is measured using a speed transducer, and P and R are measurable via gyros.

The side slip angle could be estimated using: $\hat{\beta} = {- {{\sin^{- 1}\left( \frac{V_{y}}{V_{T}} \right)}.}}$

2.5.2 Tracking a horizontal acceleration command: Ay_(cmd)

Following similar discussion as that of sub-section 2.4.2, one can build a nonlinear equation that relates AY_(cmd) to β_(cmd) or construct a transfer function relating Ay_(cmd) to β_(cmd) given by: ${{\frac{\beta \left( \deg \right)}{N_{y}\left( {g^{\prime}s} \right)}(s)} = {\frac{\beta}{\delta_{r}}(s)\frac{\delta_{r}}{N_{y}}(s)}},{where}$ ${{\frac{\beta}{\delta_{r}}(s)} = \frac{{{- Z_{\delta_{r}}}s} - {Z_{\delta_{r}}\left( {M_{\overset{.}{\theta}} + M_{\overset{.}{\beta}}} \right)} + {M_{\overset{.}{\beta}}Z_{\delta_{r}}} + {M_{\delta_{r}}U}}{{Us}^{2} + {\left\lbrack {Z_{\beta} + {U\left( {M_{\overset{.}{\beta}} + M_{\overset{.}{\theta}}} \right)}} \right\rbrack s} + {M_{\beta}U} + {M_{\overset{.}{\theta}}Z_{\beta}}}},{{\frac{\delta_{r}}{N_{y}}(s)} = {32.2{\frac{{Us}^{2} + {\left\lbrack {Z_{\beta} + {U\left( {M_{\overset{.}{\beta}} + M_{\overset{.}{\theta}}} \right)}} \right\rbrack s} + {M_{\beta}U} + {M_{\overset{.}{\theta}}Z_{\beta}}}{U\left\lbrack {{Z_{\delta_{r}}s^{2}} + {{Z_{\delta_{r}}\left( {M_{\overset{.}{\beta}} + M_{\overset{.}{\theta}}} \right)}s} + {M_{\delta_{r}}Z_{\beta}} + {M_{\beta}Z_{\delta_{r}}}} \right\rbrack}.}}}$

As a result, the transfer function relating angle β to acceleration N_(y) is given by: ${\frac{\beta \left( \deg \right)}{N_{y}\left( {g^{\prime}s} \right)}(s)} = {{- 32.2}{\frac{{Z_{\delta_{r}}s} + {Z_{\delta_{r}}\left( {M_{\overset{.}{\theta}} + M_{\overset{.}{\beta}}} \right)} - {M_{\delta_{r}}U} - {M_{\overset{.}{\beta}}Z_{\delta_{r}}}}{U\left\lbrack {{Z_{\delta_{r}}s^{2}} + {{Z_{\delta_{r}}\left( {M_{\overset{.}{\beta}} + M_{\overset{.}{\theta}}} \right)}s} + {M_{\delta_{r}}Z_{\beta}} + {M_{\beta}Z_{\delta_{r}}}} \right\rbrack}.}}$

The coefficients of the above transfer function are defined to be: ${Z_{\beta} = {\frac{\overset{\_}{q}\quad S}{m}C_{N_{\beta}}}},{Z_{\delta_{r}} = {\frac{\overset{\_}{q}\quad S}{m}C_{N_{\delta_{r}}}}},{M_{\alpha} = {\frac{{- \overset{\_}{q}}\quad {SD}}{I_{zz}}C_{M_{\beta}}}},{M_{\delta_{r}} = {\frac{\overset{\_}{q}\quad {SD}}{I_{zz}}C_{M_{\delta_{r}}}}},{M_{\overset{.}{\beta}} = {\frac{{- \overset{\_}{q}}\quad {SD}^{2}}{2{UI}_{zz}}C_{M_{\overset{.}{\beta}}}}},{M_{\overset{.}{\theta}} = {\frac{{- \overset{\_}{q}}\quad {SD}^{2}}{2{UI}_{zz}}{C_{M_{\overset{.}{\theta}}}.}}}$

Again, the choice for estimating side slip angle β depends on system memory versus processing speed.

2.6 Roll Channel

Finally, with regard to a design of an autopilot controller that tracks a desired roll command φ_(cmd), the dynamic equations that describe roll motion are given by: $\begin{matrix} \begin{matrix} {\overset{.}{\varphi} = \quad {P + {Q\quad \sin \quad \varphi \quad \tan \quad \theta} + {R\quad \cos \quad \varphi \quad \tan \quad \theta}}} \\ {\overset{.}{\theta} = \quad {{Q\quad \cos \quad \varphi} - {R\quad \sin \quad \varphi}}} \\ {\overset{.}{P} = \quad {\frac{1}{\Delta}\left\lbrack {{\left( {I_{yz}^{2} - {I_{yy}I_{zz}}} \right)\left( {A + L} \right)} -} \right.}} \\ {\left. \quad {{\left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right)\left( {B + M} \right)} - {\left( {{I_{xz}I_{yy}} + {I_{xy}I_{yz}}} \right)\left( {C + N} \right)}} \right\rbrack.} \end{matrix} & (35) \end{matrix}$

Once again, the state transformation (error signal) can be defined to be

z ₅=φ−φ_(cmd).

Differentiating the above equation, yields:

{dot over (z)} ₅ =P+Q sin φ tan θ+R cos φ tan θ−φ_(cmd)

It is desired to have state z₅ converge to zero asymptotically. Therefore, another state, say z₆, can be defined as follows:

z ₆ ={dot over (z)} ₅ +k ₅ z ₅,

for some constant gain k₅>0. In order to have a dynamic equation for z₆, differentiating the above equation yields:

{dot over (z)}₆ =k ₅(P+Q sin φ tan θ+R cos φ tanθ)+{dot over (P)}+{dot over (Q+L )} sin φ tan θ

+{dot over (R)}cos φtan θ−k ₅{dot over (φ)}_(cmd)−{umlaut over (φ)}+tan θ(Q cos φ−R sin φ){dot over (φ)}

+sec²(θ)(Q sin φ+R cos φ){dot over (θ)}.  (36)

In order to drive state z₆ asymptotically to zero, let

z ₆ −k ₆ z ₆, where k₆>0

Therefore:

{dot over (P)}+{dot over (R+L )} cos φ tan θ+{dot over (Q)}sin φ tan θ=

−k ₅ k ₆ z ₅−(k ₅ +k ₆)(P+Q sin φ tan θ+R cos φtan {dot over (θ)}_(cmd))+

{umlaut over (φ)}_(cmd)−tan θ(Q cos φ−R sin φ) {dot over (φ)}−sec²θ(Q sin φ+R cos φ){dot over (θ)}.

Substituting dynamic terms {dot over (P)}, {dot over (Q)}, {dot over (R)}, {dot over (φ)}, and {dot over (θ)} in the above equation yields: $\begin{matrix} {{{\frac{1}{\Delta}\left( {I_{yz}^{2} - {I_{yy}I_{zz}} - {\left( {{I_{xy}I_{yz}} + {I_{yy}I_{zz}}} \right)\cos \quad {\varphi tan\varphi}} - {\left( {{I_{xy}I_{zz}} + {I_{xz}I_{yz}}} \right)\sin \quad {\varphi tan\theta}}} \right)\left( {A + L} \right)} + {\frac{1}{\Delta}\left( {{- \left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right)} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\cos \quad {\varphi tan\theta}} + {\left( {I_{xz}^{2} - {I_{xx}I_{zz}}} \right)\sin \quad {\varphi tan\theta}}} \right)\left( {B + M} \right)} + {\frac{1}{\Delta}\left( {{- \left( {{I_{xz}I_{yy}} + {I_{xy}I_{yz}}} \right)} + {\left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)\cos \quad {\varphi tan\theta}} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\sin \quad {\varphi tan\theta}}} \right)\left( {C + N} \right)}} = {{{- k_{5}}k_{6}z_{5}} - {\left( {k_{5} + k_{6}} \right)\left( {P + {Q\quad \sin \quad {\varphi tan\theta}} + {R\quad \cos \quad {\varphi tan\theta}} - {\overset{.}{\varphi}}_{cmd}} \right)} + {\overset{¨}{\varphi}}_{cmd} - {\tan \quad {\theta \left( {{Q\quad \cos \quad \varphi} - {R\quad \sin \quad \varphi}} \right)}\left( {P + {Q\quad \sin \quad {\varphi tan\theta}} + {R\quad \cos \quad {\varphi tan\theta}}} \right)} - {\sec^{2}{\theta \left( {{Q\quad \sin \quad \varphi} + {R\quad \cos \quad \varphi}} \right)}{\left( {{Q\quad \cos \quad \varphi} - {R\quad \sin \quad \varphi}} \right).}}}} & (37) \end{matrix}$

Since equation (37) is a nonlinear algebraic equation for controllers δ_(p), δ_(q), and δ_(r), one needs to regroup equation (37) so that L appear on the left hand side; $\begin{matrix} {{\left( {I_{yz}^{2} - {I_{yy}I_{zz}} - {\left( {{I_{xy}I_{yz}} + {I_{yy}I_{xz}}} \right)\cos \quad \varphi \quad \tan \quad \theta} - {\left( {{I_{xy}I_{zz}} + {I_{xx}I_{yz}}} \right)\sin \quad \varphi \quad \tan \quad \theta}} \right)L} = {{{+ \left( {\left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right) + {\left( {{I_{xx}I_{yz}} - {I_{xy}I_{xz}}} \right)\cos \quad \varphi \quad \tan \quad \theta} + {\left( {I_{xz}^{2} - {I_{xx}I_{zz}}} \right)\sin \quad \varphi \quad \tan \quad \theta}} \right)} \times \left( {B + M} \right)} - {\left( {{- \left( {{I_{xz}I_{yy}} + {I_{xy}I_{yz}}} \right)} + {\left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)\cos \quad \varphi \quad \tan \quad \theta} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\sin \quad \varphi \quad \tan \quad \theta}} \right)\left( {C + N} \right)} - {\left( {I_{yz}^{2} - {I_{yy}I_{zz}} - {\left( {{I_{xy}I_{yz}} + {I_{yy}I_{xz}}} \right) \times \quad \cos \quad \varphi \quad \tan \quad \theta} - {\left( {{I_{xy}I_{zz}} + {I_{xz}I_{yz}}} \right)\sin \quad {\varphi tan}\quad \theta}} \right)A} - {\Delta \quad k_{5}k_{6}z_{5}} - {{\Delta \left( {k_{5} + k_{6}} \right)}\left( {P + {Q\quad \sin \quad {\varphi tan}\quad \theta} + {R\quad \cos \quad {\varphi tan}\quad \theta} - {\overset{.}{\varphi}}_{cmd}} \right)} + {\Delta \quad {\overset{¨}{\varphi}}_{cmd}} - {\Delta \quad \tan \quad {\theta \left( {{Q\quad \cos \quad \varphi} - {R\quad \sin \quad \varphi}} \right)}\left( {P + {Q\quad \sin \quad \varphi \quad \tan \quad \theta} + {R\quad \cos \quad \varphi \quad \tan \quad \theta}} \right)} - {\Delta \quad \sec^{2}{\theta \left( {{Q\quad \sin \quad \varphi} + {R\quad \cos \quad \varphi}} \right)}{\left( {{Q\quad \cos \quad \varphi} - {R\quad \sin \quad \varphi}} \right).}}}} & (38) \end{matrix}$

Now, substituting for term L yields: $\begin{matrix} {{{C_{1}\left( {\alpha,\quad \beta,\quad \delta_{p}} \right)} = {{- C_{10}} - {\frac{D}{2U}\left( {{C_{1_{p}}P} + {C_{1_{r}}R}} \right)} - \frac{A}{\overset{\_}{q}{SD}} + {\frac{1}{\overset{\_}{q}{SD\mathrm{\Upsilon}}_{L}}\left\{ {{\mathrm{\Upsilon}_{M}\left( {B + M} \right)} + {\mathrm{\Upsilon}_{N}\left( {C + N} \right)} - {{\Delta k}_{5}k_{6}z_{5}} - {{\Delta \left( {k_{5} + k_{6}} \right)}\left( {P + {Q\quad \sin \quad {\varphi tan\theta\prime R}\quad \cos \quad {\varphi tan\theta}} - {\overset{.}{\varphi}}_{cmd}} \right)} + {\Delta {\overset{¨}{\varphi}}_{cmd}} - {{\Delta tan}\quad {\theta \left( {{Q\quad \cos \quad \varphi} - {R\quad \sin \quad \varphi}} \right)}\left( {P + {Q\quad \sin \quad \varphi \quad \tan \quad \varphi} + {R\quad \cos \quad {\varphi tan\theta}}} \right)} - {{\Delta sec}^{2}{\theta \left( {{Q\quad \sin \quad \varphi} + {R\quad \cos \quad \varphi}} \right)}\left( {{Q\quad \cos \quad \varphi} - {R\quad \sin \quad \varphi}} \right)}} \right\}}}},} & (39) \end{matrix}$

where

Γ_(L)=(I _(yz) ² I _(yy) I _(zz)−(I _(xy) I _(yz+) I _(yy) I _(xz))cos φ tan θ−(I _(xy) I _(zz) +I _(xz) I _(yz))sin φ tan θ)

Γ_(M)=−(−(I _(xz) I _(yz) +I _(xy) I _(zz))−(I _(xx) I _(yz) +I _(xy) I _(xz))cos φ tan θ+(I_(xz) ² −I _(zz))sin φ tan θ)

Γ_(N)=−(−(I_(xz) I _(yy) +I _(xy) I _(yz))+(I _(xz) ² −I _(xx) I _(yy))cos φ tan θ−(I _(xx) I _(yz) +I _(xy) I _(xz))sin φ tan θ).

2.7 Quaternions

Quaternions are generally used to avoid any singularity when a vehicle's pitch angle approaches 90 degrees. The quaternion dynamic equations are given by: ${\overset{.}{q}}_{1} = {{- \frac{1}{2}}\left( {{Pq}_{2} + {Qq}_{3} + {Rq}_{4}} \right)}$ ${\overset{.}{q}}_{2} = {\frac{1}{2}\left( {{Pq}_{1} - {Qq}_{4} + {Rq}_{3}} \right)}$ ${\overset{.}{q}}_{3} = {\frac{1}{2}\left( {{Pq}_{4} + {Qq}_{1} - {Rq}_{2}} \right)}$ ${\overset{.}{q}}_{4} = {\frac{1}{2}{\left( {{- {Pq}_{3}} + {Qq}_{2} + {Rq}_{1}} \right).}}$

The vehicle Euler angles can be derived from the quaternion states as follows: $\begin{matrix} {{\psi = {\tan^{- 1}\left( \frac{2\left( {{q_{2}q_{3}} + {q_{1}q_{4}}} \right)}{q_{1}^{2} + q_{2}^{2} - q_{3}^{2} - q_{4}^{2}} \right)}},} & (40) \\ {{\theta = {\sin^{- 1}\left( {2\left( {{q_{1}q_{3}} - {q_{2}q_{4}}} \right)} \right)}},} & (41) \\ {\varphi = {{\tan^{- 1}\left( \frac{2\left( {{q_{1}q_{2}} + {q_{3}q_{4}}} \right)}{q_{1}^{2} - q_{2}^{2} - q_{3}^{2} + q_{4}^{2}} \right)}.}} & (42) \end{matrix}$

If one wants to use the quaternions, then one has to add the quaternion equations to a simulation and calculate Euler angles from equations (40), (41), and (42). Next, use these calculated values in the three control equations (18), (30), and (38). One needs to keep in mind that even though for θ=±90° singularity is avoided, the body roll angle is undefined for this condition. An alternative solution should be exercised in order to have a defined roll angle at θ≅±90°.

2.8 Uncertainty/Noise compensation

Most physical systems are inherently nonlinear and contain uncertainty (correlated noise) and/or noise (uncorrelated noise). Possible uncertainties/noise are modeling errors, unmodelled dynamics, noise disturbances, magnetic interference, and/or no exact information about the dynamics (states) of the nonlinear system under study. Thus, it is sometimes important to compensate for such uncertainty/noise in order to achieve desirable system performance, and in worst case scenario avoid instability behavior. Uncertainty and/or noise compensation is usually done using the following three simple steps.

A designer must be able to identify and approximate the magnitude and sign of the uncertainty/noise that is being injected into the dynamic system. The uncertainty part could be due to GIC (sensors) errors, i.e., uncertainty in state feedback signals. Noise could be due to magnetic interference or other uncorellated noise.

In this step, the designer should develop bounding functions for both the uncertainty and/or noise present in the system. The bounding functions (positive) are chosen such that their magnitude is greater or equal to the uncertainty/noise magnitude. For instance, if a dynamic system has been identified to have uncertainty ΔF(α)=0.2 sin(2t)+0.4α−0.3α² then a bounding function ρ(α) is chosen to be

ρ(α)≧0.2+0.4|α|+0.3|α|².

The above choice for ρ(α) insures that ρ(α)≧|ΔF(α)|.

The last step is to add the bounding function to the controller. This will make sure that the controller is aware that an uncertainty/noise of magnitude ρ(+) is present in the dynamic system. Keep in mind that the sign of the uncertainty is important in order for the controller to identify the direction (positive or negative) of the uncertainty/noise being injected into the dynamic system. With this in mind, the bounding function must be modified as follows:

(α)=sgn(α)(1−e ^(−ε|α|)) ρ(α),

where ε>0 is a damping parameter chosen by the designer. Note that (α) can dominate uncertainty ΔF(α) in both sign and magnitude. As a result, function (α) should be added to the control equation.

2.9 Fin Mixing Logic (Three fin design)

The fin mixing logic is developed on the assumption that the rudder fin is perfectly vertical and the two elevator fins are equally spaced from the rudder one. Moreover, assuming that actual aero-coefficients are know exactly and referenced to the C.G. (Center of Gravity). While this approach is presented for the preferred embodiment, one of skill in the art will appreciate that other fin arrangements are possible and that the following general approach below may be modified for alternative fin arrangements. ${\begin{bmatrix} \delta_{p} \\ \delta_{q} \\ \delta_{r} \end{bmatrix} = {\begin{bmatrix} c_{1} & 1 & c_{1} \\ 1 & 0 & {- 1} \\ c_{2} & {- 1} & c_{2} \end{bmatrix}\begin{bmatrix} \begin{matrix} \delta_{1} \\ \delta_{2} \end{matrix} \\ \delta_{3} \end{bmatrix}}},$

where c₁ and c₂ are positive constants that will be determined later. Thus, the fin mixing logic is given by: $\begin{bmatrix} \delta_{1} \\ \delta_{2} \\ \delta_{3} \end{bmatrix} = {{{\frac{1}{2\left( {c_{1} + c_{2}} \right)}\begin{bmatrix} 1 & {c_{1} + c_{2}} & 1 \\ {2c_{2}} & 0 & {{- 2}c_{1}} \\ 1 & {- \left( {c_{1} + c_{2}} \right)} & 1 \end{bmatrix}}\begin{bmatrix} \delta_{p} \\ \delta_{q} \\ \delta_{r} \end{bmatrix}}.}$

The above fin mixing logic has been adopted in such a way that when a pure yaw command is desired, a small deflection of fins 1 and fin 3 (i.e., a small value of δ₁ and δ₃) (by a factor of c₂) is needed in order to minimize any pitching or rolling effects. When commanded a roll, fin 2 is commanded at a different rate then fins 1 and 3 (by a factor of c₁). In order to determine constants c₁ and c₂, we proceed as follows:

1. Pure Yaw Moment (δ_(r)):

For a pure yawing moment with side force the following set of equations can be employed: $\begin{matrix} {L = {{{C_{l_{\delta_{1}}}\delta_{r_{1}}} + {C_{l_{\delta_{2}}}\delta_{r_{2}}} + {C_{l_{\delta_{3}}}\delta_{r_{3}}}} = 0}} & (43) \\ {M = {{{C_{m_{\delta_{1}}}\delta_{r_{1}}} + {C_{m_{\delta_{2}}}\delta_{r_{2}}} + {C_{m_{\delta_{3}}}\delta_{r_{3}}}} = 0}} & (44) \\ {Z = {{{C_{N_{\delta_{1}}}\delta_{r_{1}}} + {C_{N_{\delta_{2}}}\delta_{r_{2}}} + {C_{N_{\delta_{3}}}\delta_{r_{3}}}} = 0.}} & (45) \end{matrix}$

From equation (45), assuming C_(N_(δ₂))δ_(r₂) ≃ 0

and keeping in mind that: $\delta_{r_{1}} = {\left. {{- \frac{C_{N_{\delta_{3}}}}{C_{N_{\delta_{1}}}}}\delta_{r_{3}}}\Rightarrow\delta_{1} \right. = {\delta_{3}.}}$

Substituting the above equation in (43) yields: $\begin{matrix} {\delta_{r_{2}} = {{- \frac{1}{C_{1_{\delta_{2}}}}}\left( {C_{1_{\delta_{3}}} + {\left\lbrack {- \frac{C_{N_{\delta_{3}}}}{C_{N_{\delta_{1}}}}} \right\rbrack C_{1_{\delta_{1}}}}} \right){\delta_{r_{3}}.}}} & (46) \end{matrix}$

For a pure yaw motion, one can set δ_(p)=δ_(q)=0. Thus, the mixing logic yields a relationship between δ₂ and δ₃ given by: $\begin{matrix} {\delta_{3} = {{- \frac{1}{2c_{1}}}{\delta_{2}.}}} & (47) \end{matrix}$

Equating equations (46) and (47) yields the value of constant c₁: ${c_{1} = \frac{C_{1_{\delta_{q}}} + C_{1_{\delta_{3}}}}{2C_{1_{\delta_{2}}}}},$

where C_(N_(δ₁)) = −C_(N_(δ₃)).

2. Pure Roll moment (δ_(p)):

For a pure rolling moment the following set of equations can be employed: $\begin{matrix} {M = {{{C_{m_{\delta_{1}}}\delta_{r_{1}}} + {C_{m_{\delta_{2}}}\delta_{r_{2}}} + {C_{m_{\delta_{3}}}\delta_{r_{3}}}} = 0}} & (48) \\ {N = {{{C_{n_{\delta_{1}}}\delta_{r_{1}}} + {C_{n_{\delta_{2}}}\delta_{r_{2}}} + {C_{n_{\delta_{3}}}\delta_{r_{3}}}} = 0}} & (49) \\ {Z = {{{C_{N_{\delta_{1}}}\delta_{r_{1}}} + {C_{N_{\delta_{2}}}\delta_{r_{2}}} + {C_{N_{\delta_{3}}}\delta_{r_{3}}}} = 0}} & (50) \\ {Y = {{{C_{Y_{\delta_{1}}}\delta_{r_{1}}} + {C_{Y_{\delta_{2}}}\delta_{r_{2}}} + {C_{Y_{\delta_{3}}}\delta_{r_{3}}}} = 0.}} & (51) \end{matrix}$

From equation (50), assuming C_(N_(δ₁)) = −C_(N_(δ₃)).

and keeping in mind that: $\delta_{r_{1}} = {\left. {{- \frac{C_{N_{\delta_{3}}}}{C_{N_{\delta_{1}}}}}\delta_{r_{3}}}\Rightarrow\delta_{1} \right. = {\delta_{3}.}}$

Substituting the above equation in (51) yields: $\begin{matrix} {\delta_{r_{2}} = {{- \frac{1}{C_{Y_{\delta_{2}}}}}\left( {C_{Y_{\delta_{3}}} + {\left\lbrack {- \frac{C_{N_{\delta_{3}}}}{C_{N_{\delta_{1}}}}} \right\rbrack C_{Y_{\delta_{1}}}}} \right){\delta_{r_{3}}.}}} & (52) \end{matrix}$

For a pure roll motion, one can set δ_(r)=δ_(q)=0. Thus, the mixing logic yields a relationship between δ₂ and δ₃ given by: $\begin{matrix} {\delta_{3} = {\frac{1}{2c_{2}}\quad {\delta_{2}.}}} & (53) \end{matrix}$

Equating equations (52) and (53), we obtain the value of constant c₂: ${c_{2} = {- \frac{C_{Y_{\delta_{1}}} + C_{Y_{\delta_{3}}}}{2C_{Y_{\delta_{2}}}}}},$

where again $\begin{matrix} {M = {{{C_{m_{\delta_{1}}}\delta_{r_{1}}} + {C_{m_{\delta_{2}}}\delta_{r_{2}}} + {C_{m_{\delta_{3}}}\delta_{r_{3}}}} = 0}} & (48) \\ {N = {{{C_{n_{\delta_{1}}}\delta_{r_{1}}} + {C_{n_{\delta_{2}}}\delta_{r_{2}}} + {C_{n_{\delta_{3}}}\delta_{r_{3}}}} = 0}} & (49) \\ {Z = {{{C_{N_{\delta_{1}}}\delta_{r_{1}}} + {C_{N_{\delta_{2}}}\delta_{r_{2}}} + {C_{N_{\delta_{3}}}\delta_{r_{3}}}} = 0}} & (50) \\ {Y = {{{C_{Y_{\delta_{1}}}\delta_{r_{1}}} + {C_{Y_{\delta_{2}}}\delta_{r_{2}}} + {C_{Y_{\delta_{3}}}\delta_{r_{3}}}} = 0.}} & (51) \end{matrix}$

If one uses the above fin mixing logic, the following simplifications and/or modifications can be made:

1. Equation (18) remains unchanged.

2. In equation (30), one can drop term δ_(p), that is

F _(δ) _(r)(α, β, δ_(r), δ_(p))=F _(δ) _(r)(α,β, δ_(r))

3. In equation (38), rolling moment C_(l)(α,β,δ_(p), δ_(r)) can be calculated since fin deflection commands δ_(q) and δ_(r) are decoupled and term δ_(r) can be dropped from C_(l)(α,β, δ_(p), “_(r)). In other words,

C _(l)(α,β, δ_(p), δ_(r))=C _(l)(α,β, δ_(p)).

The above fin mixing logic can be directly used, with minor modifications, to comply with equations (18), (30), and (39). Since these equations calculate the solution for the fin aerodynamic forces/moments needed to track a commanded input, i.e., F_(δ) _(q) , F_(δ) _(r) and C_(l), one must first convert these forces/moments due to fin deflections to pure fin deflection values δ₁, δ₂, and δ₃. This could be accomplished by feeding the estimated angle of attack and side slip angles along with F_(δ) _(q) , F_(δ) _(r), and C_(l), into the table lookups or equations of the surfaces where the outputs are the three fin deflections δ₁, δ₂, and δ₃. Keeping in mind that C_(N) _(δ) (·), C_(m) _(δ)(·), . . . . are not functions by definition, i.e., for a given value of C_(m_(δ₃))(⋅),

there are two fin deflection values δ₃. Thus, the convergence to a fin deflection value for a given pitching moment command is local. In other words, the fin deflection will converge to the closer value of the two fin deflection solutions for a given C_(m_(δ₃))

depending on the initial starting point of the fin deflection state (initial condition). If one limits the fin aerodynamics to the linear region (small angle of attack and fin deflection), then the fin aerodynamics become functions with respect to the fin deflections (one  to  one  mapping  from  C_(m_(δ_(i)))  to  δ_(i)).

to δ_(i)). If the above assumption is exercised, the following argument holds. The fin mixing logic equations should be rewritten as follows: $\begin{matrix} {{\begin{bmatrix} C_{Y_{\delta_{1}}} \\ C_{Y_{\delta_{2}}} \\ C_{Y_{\delta_{3}}} \end{bmatrix} = {{\frac{1}{2\left( {c_{1} + c_{2}} \right)}\quad\begin{bmatrix} 1 \\ {{- 2}c_{1}} \\ 1 \end{bmatrix}}C_{Y_{\delta}}}},} \\ {{\begin{bmatrix} C_{N_{\delta_{1}}} \\ C_{N_{\delta_{2}}} \\ C_{N_{\delta_{3}}} \end{bmatrix} = {{\frac{1}{2\left( {c_{1} + c_{2}} \right)}\quad\begin{bmatrix} {c_{1} + c_{2}} \\ 0 \\ {c_{1} + c_{2}} \end{bmatrix}}C_{N_{\delta}}}},} \\ {\begin{bmatrix} C_{l_{\delta_{1}}} \\ C_{l_{\delta_{2}}} \\ C_{l_{\delta_{3}}} \end{bmatrix} = {{\frac{1}{2\left( {c_{1} + c_{2}} \right)}\quad\begin{bmatrix} 1 \\ {2c_{2}} \\ 1 \end{bmatrix}}{C_{l_{\delta}}.}}} \end{matrix}$

The reason for restructuring these equations is because it is difficult to combine all three table look-ups into one. Moreover, after calculating all nine variables above (C_(Y_(δ_(i))), C_(N_(δ_(i))), and  C_(l_(δ_(i)))    for  i = 1, 2, 3),

these variables are passed through the table look-ups along with α and β estimates to yield the three fin deflections which are then passed to the actuators.

2.10 Decoupling the Dynamic Control Equations

If one desires to use a fin mixing logic where the three channels remain coupled, the following decoupling technique can be applied to separate or decouple the three channels. However, this decoupling process is applicable if one can replace/simplify the following terms: F_(δ_(q)) ≃ F_(c)δ_(q), F_(δ_(r)) ≃ ν(C_(y_(δ_(p)))δ_(p) + C_(y_(δ_(r)))δ_(r)), C_(l)(α, β, δ_(p)) ≃ C_(l_(δ_(p)))δ_(p).

Once a linear approximation of the external forces/moments due to fin deflection are made, one can continue with the decoupling process. Assuming that dynamic control equations for vertical (18) and horizontal (30) channels, and algebraic control equation for roll (38) channel are coupled, the decoupling process will facilitate the implementation of these controller algorithms (δ_(p), δ_(q), δ_(r)). By decoupling these three controllers, one can observe the separate behavior of the three controllers as well as the effect of each one of them on the other two channels. The decoupling matrix is giving by: $\begin{matrix} {{D = \begin{bmatrix} {UF}_{c} & 0 & 0 \\ 0 & {\nu \quad {UC}_{{y_{\delta}}_{p}}} & {\nu \quad {UC}_{{y_{\delta}}_{r}}} \\ \chi_{q} & {f_{p1} + f_{r1}} & {f_{p2} + f_{r2}} \end{bmatrix}},} \\ \begin{matrix} {where} \\ \begin{matrix} \chi_{q} & = & {\frac{\overset{\_}{q}{SD}^{\prime}}{\Delta}\left( {{- \left( {{I_{xz}I_{yz}} + {I_{xy}I_{zz}}} \right)} - \left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)} \right.} \\ \quad & \quad & {\left. {{\cos \quad \varphi \quad \tan \quad \theta} + {\left( {I_{xz}^{2} - {I_{xx}I_{zz}}} \right)\sin \quad \varphi \quad \tan \quad \theta}} \right)C_{m_{\delta_{q}}}} \\ f_{r1} & = & {\frac{\overset{\_}{q}{SD}}{\Delta}\left( {{- \left( {{I_{xz}I_{yy}} + {I_{xy}I_{yz}}} \right)} + \left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)} \right.} \\ \quad & \quad & {\left. {{\cos \quad \varphi \quad \tan \quad \theta} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\sin \quad \varphi \quad \tan \quad \theta}} \right)C_{n_{\delta_{p}}}} \\ f_{r2} & = & {\frac{\overset{\_}{q}{SD}}{\Delta}\left( {{- \left( {{I_{xz}I_{yy}} + {I_{xy}I_{yz}}} \right)} + \left( {I_{xz}^{2} - {I_{xx}I_{yy}}} \right)} \right.} \\ \quad & \quad & {\left. {{\cos \quad \varphi \quad \tan \quad \theta} - {\left( {{I_{xx}I_{yz}} + {I_{xy}I_{xz}}} \right)\sin \quad \varphi \quad \tan \quad \theta}} \right)C_{n_{\delta_{r}}}} \\ f_{p1} & = & {\frac{\overset{\_}{q}{SD}}{\Delta}\left( {I_{yz}^{2} - {I_{yy}I_{zz}} - \left( {{I_{xy}I_{yz}} + {I_{yy}I_{xz}}} \right)} \right.} \\ \quad & \quad & {\left. {{\cos \quad \varphi \quad \tan \quad \theta} - {\left( {{I_{xy}I_{zz}} + {I_{xz}I_{yz}}} \right)\sin \quad \varphi \quad \tan \quad \theta}} \right)C_{l_{\delta_{p}}}} \\ f_{p2} & = & {\frac{\overset{\_}{q}{SD}}{\Delta}\left( {I_{yz}^{2} - {I_{yy}I_{zz}} - \left( {{I_{xy}I_{yz}} + {I_{yy}I_{xz}}} \right)} \right.} \\ \quad & \quad & {\left. {{\cos \quad \varphi \quad \tan \quad \theta} - {\left( {{I_{xy}I_{zz}} + {I_{xz}I_{yz}}} \right)\sin \quad \varphi \quad \tan \quad \theta}} \right){C_{l_{\delta_{r}}}.}} \end{matrix} \end{matrix} \end{matrix}$

After defining the decoupling matrix D, the following functions, that will yield the three decoupled fin deflection command equations, can be defined: ${\xi_{1} = {\int{{UF}_{c}{\overset{.}{\delta}}_{q}{t}}}},{\xi_{2} = {\int{{U\left( {{\nu \quad C_{y_{\delta_{p}}}{\overset{.}{\delta}}_{p}} + {\nu \quad C_{y_{\delta_{r}}}{\overset{.}{\delta}}_{r}}} \right)}{t}}}},{\xi_{3} = {{R.H.S}\quad {of}\quad {equation}\quad {(38).}}}$

States ξ₁ and ξ₂ are the output of the dynamic controller functions that integrate equations (18) and (30), and ξ₃ is just the right hand side of algebraic equation (38). The decoupled fin deflection commands δ_(q), δ_(p), and δ_(r) are determined by solving the following simultaneous algebraic equations: $\begin{matrix} {{{\begin{bmatrix} \delta_{q} \\ \delta_{p} \\ \delta_{r} \end{bmatrix} = {D^{- 1}\begin{bmatrix} \xi_{1} \\ \xi_{2} \\ \xi_{3} \end{bmatrix}}},\quad {{where}\text{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}{D^{- 1} = {\frac{\begin{bmatrix} {{\nu \quad {{UC}_{y_{\delta_{p}}}\left( {f_{p2} + f_{r2}} \right)}} - {\nu \quad {{UC}_{y_{\delta_{r}}}\left( {f_{p1} + f_{r1}} \right)}}} & 0 & 0 \\ {\nu \quad {UC}_{y_{\delta_{r}}}\chi_{q}} & {{UF}_{c}\left( {f_{p2} + f_{r2}} \right)} & {{- F_{c}}\nu \quad U^{2}C_{y_{\delta_{r}}}} \\ {{- \nu}\quad {UC}_{y_{\delta_{p}}}\chi_{q}} & {- {{UF}_{c}\left( {f_{p1} + f_{r1}} \right)}} & {F_{c}\nu \quad U^{2}C_{y_{\delta_{p}}}} \end{bmatrix}}{{U^{2}F_{c}\nu \quad {C_{y_{\delta_{p}}}\left( {f_{p2} + f_{r2}} \right)}} - {U^{2}F_{c}\nu \quad {C_{y_{\delta_{r}}}\left( {f_{p1} + f_{r1}} \right)}}}.}}} & (54) \end{matrix}$

Finally, the three decoupled nonlinear control equations are given by: $\begin{matrix} {{\delta_{q} = {\frac{1}{{UF}_{c}}\quad \xi_{1}}},} \\ {{\delta_{p} = {{\frac{\nu \quad C_{y_{\delta_{r}}}\chi_{q}}{F_{c}\Gamma}\quad \xi_{1}} + {\frac{f_{p2} + f_{r2}}{\Gamma}\quad \xi_{2}} - {\frac{\nu \quad {UC}_{y_{\delta_{r}}}}{\Gamma}\quad \xi_{3}}}},} \\ {{\delta_{r} = {{\frac{\nu \quad C_{y_{\delta_{p}}}\chi_{q}}{F_{c}\Gamma}\quad \xi_{1}} - {\frac{f_{p1} + f_{r1}}{\Gamma}\quad \xi_{2}} + {\frac{\nu \quad {UC}_{y_{\delta_{p}}}}{\Gamma}\quad \xi_{3}}}},} \end{matrix}$

by letting Γ = ν  UC_(y_(δ_(p)))(f_(p2) + f_(r2)) − ν  UC_(y_(δ_(r)))(f_(p1) + f_(r1)).

In order for equation (54) to exist (well posed), decoupling matrix D must be full rank (D is invertible) ${\forall\varphi},{{\theta } < {\frac{\pi}{2}.}}$

If Euler pitch angle θ approaches $\frac{\pi}{2},$

equation (54) cannot be solved because the third row of matrix D becomes undefined. However, assuming that the vehicle (e.g., a missile) cannot approach a 90 degrees Euler pitch angle, there will not be an ill posed equation.

2.11 Simulation Results

This section evaluates the above autopilot controller in a simulation. The following steps were developed for the simulation model:

Instead of storing large table look-up data for the vehicle's aerodynamic coefficients, the static aerodynamic coefficient surfaces can be curve fitted to yield nonlinear functions that describe these surfaces (C_(A_(δ_(o))), C_(N_(δ_(o))), C_(Y_(δ_(o))), C_(n_(δ_(o))), C_(m_(δ_(o))), C_(l_(δ_(o)))).

These functions are then used to calculate the values of the aerodynamic coefficients for a given αand β. This process may reduce the memory and/or the processing time that is usually required when dealing with data table look-up and interpolation algorithms. By having a function that describes a surface, interpolation is no longer needed. One needs to keep in mind that the curve fitted surfaces do have accuracy errors associated with them. However, the functions describing the aerodynamic coefficient surfaces are very accurate in most cases.

It is desired to have a system performance similar to a first order response, i.e., exponential decay with no or minimal overshoot. Thus, tweaking/adjusting “constant” gains k_(i) to be of “varying” type gains (functions of the system tracking errors) shall yield a first order system response for all input commands operating in a flight region. The final products are nonlinear gain functions. In order to obtain these equations, one needs to simulate the model for a wide range of α_(cmd), β_(cmd), and φ_(cmd) and for each separate case, modify the appropriate gain such that a first order response is achieved. Then, curve fit the gain vectors to obtain the needed nonlinear equations. Once the equations are available, the designer could add a factor multiplied by the gains in order to increase or decrease the total gain magnitude for each channel if needed. This may be desirable in order to achieve smooth tracking response. Keep in mind that this gain tweaking process will need revision if vehicle specifications such as vehicle mass, product/moment of inertia, wing/fin(s) surface areas, etc . . . change. In order to take into account dynamic pressure changes, nonlinear equations are developed and fitted that vary with varying {overscore (q)}.

Since the theoretical autopilot design technique relies on angles α and β as state feedback signals, and since vehicle sensors measure angular rates and accelerations, one must convert, say a given measured vertical acceleration to an equivalent angle α using equation (22) as previously discussed. In addition, since the guidance law usually sends acceleration commands to the autopilot, it is necessary to convert these commands to equivalent angle commands (Az_(cmd)→α_(cmd), Ay_(cmd)→β_(cmd)). The conversion process yields a function that relates the input to the output. For instance; one can develop a table that relates a vertical acceleration command to its equivalent angle of attack command (horizontal acceleration command to a side slip angle command) while taking into account changes for dynamic pressure {overscore (q)} and mass m. That is;

α_(cmd)=F({overscore (q)}, m, Az_(cmd)),

β_(cmd)=F({overscore (q)}, m, Ay_(cmd), Az_(cmd)).

A reverse design is used to develop these functions. For a given α_(cmd), {overscore (q)}, and m, one can calculate the value of Az_(cmd). Thus, a 3-D table can be constructed that has independent variables Az_(cmd) and {overscore (q)} and dependent variable α_(cmd). Next, for each vehicle mass value we have a surface. Then, a linear interpolation is used to interpolate data between α_(cmd) surfaces for a given vehicle mass value. Similar approach follows for the horizontal channel with the addition of a function that takes into account Az_(cmd) which could affect β_(cmd) by as much as 11%. As a result, we have a surface function that converts the given guidance acceleration commands Az_(cmd) and Ay_(cmd) to equivalent α_(cmd) and β_(cmd), respectively. Keep in mind that this process has to be redone every time vehicle specifications changes, i.e., if product/moment of inertia, aerodata coefficients, or wing/fins surface area, etc . . . change.

2.12 Real Time Algorithm Execution

The model discussed in the above section is continuous. It is very important to consider discretizing the model before executing it in real time. Thus, choosing a correct sampling rate is critical to insure stability of the overall controller since the controller(s) are the solution of complex differential equation(s). This brings to mind an interesting topic regarding complex differential equations running in discrete mode, i.e., “stiff equations”. Stiff differential equations frequently arise in physical systems especially with the autopilot controller proposed in the manuscript. This phenomena occurs when the differential equations have greatly differing time constants. Within the system or controller, different terms decay at different rates. In other words, stiffness occurs when a dependent variable has two or more very different scales of independent variables. With this in mind, it is important to choose a sampling rate that maintain overall control stability while the controller differential equations are being integrated.

If one decides to explicitely integrate the controller differential equations, one should be careful with choosing a appropriate sampling rate for the controller model. For example, if equation (18) is rewritten as:

{dot over (F)} _(δ) _(q) =−μF _(δ) _(q) +O(α, β, P, Q, R, φ, θ, ψ, U, m, I _(ij), . . . ),  (55)

where O(·) are the non-homogeneous terms and μ is the decay term associated with F_(δ) _(q) . A sampling rate value (f) must be chosen such that $\begin{matrix} {{\Delta \quad t} = {\frac{1}{f} < {\frac{2}{\mu}.}}} & (56) \end{matrix}$

More specifically, in the damping term μ, the following terms dominate: $\begin{matrix} {\frac{UDm}{I_{yy}}\frac{C_{m_{\delta_{q}}}}{C_{N_{\delta_{q}}}}} & {{{for}\quad {vertical}\quad {channel}\quad {controller}},} \\ {{\frac{UDm}{I_{zz}}\frac{C_{n_{\delta_{r}}}}{C_{Y_{\delta_{r}}}}},} & {{for}\quad {horizontal}\quad {channel}\quad {{controller}.}} \end{matrix}$

However, keep in mind that larger gain values k_(i) may require higher sampling rate. One can see that the sampling rate is inversely proportional to the fin moment arm. If one chooses to integrate the controller differential equations implicitely, then one can reduce the step size needed for the integrator. Keep in mind that even though the integration process is stable for smaller sampling rate, accuracy is given up in converging towards equilibrium.

2.13 Sampling Rate Reduction Method

In this section, method(s) are discussed that will aid in reducing the sampling rate required while maintaining smooth explicit integration. From the above discussion regarding the necessary condition for the sampling rate, equation (56), one can lower the sampling rate needed by simply reducing the value of μ in the control dynamic equation. One technique is to multiply damping term μ by a constant, say λ, where the new dynamic equation becomes:

{dot over (F)} _(δ) _(q) =−λμF _(δ) _(q) +O(α,β, P, Q, R, φ, θ, ψ, U, m, I _(ij), . . .).

By appropriately choosing λ, one can control the sampling rate of the above at differential equation. If a lower sampling rate is preferred, then one must choose λ to be 0<λ<1. This translates to: ${\Delta \quad t} < {\frac{2}{\lambda\mu}.}$

Even though constant λ can be theoretically chosen anywhere in the interval (0,1), practically, the designer should test the low limit for λ where the controller differential equations for a model under study are still smooth and did not deteriorate due to a small value of λ.

Remember that by multiplying dampling rate μ by constant λ, you have changed the form of the differential equation. Thus, one must reverse this change. Reversing the effect of adding λ can be done by adding the following compensator filter ${{T(s)} = \frac{s + {\lambda\mu}}{s + \mu}},$

where the input to the filter is the modified differential equation solution and the output of the filter should yield the original solution of differential equation (55).

As a result, by adding the compensator filter to the output of the modified control differential equation, one can reverse the process of multiplying μ by λ. The above filter design is explained via the following simple example:

Assume that the original control differential equation is given by:

{dot over (y)}=−μy,

which requires a sampling rate ${freq} > {\frac{\mu}{2}.}$

Say, we want to reduce the sampling rate by a constant 0<λ<1, that is ${freq} > {\frac{\lambda\mu}{2}.}$

Changing the sampling rate to ${freq} > \frac{\lambda\mu}{2}$

translates into having a modified control differential equation given by:

{dot over (y)}_(m) =−λμy _(m),

where subscript m stands for “modified”. The modified control differential equation yields solution y_(m)(t) which is different from y(t). By inputing y_(m)(t) through the compensator filter T(s), one retrieves solution y(t) at the filter output. Transfer function T(s) is developed as follows: ${{y_{m}(s)} = \frac{y_{0}}{s + {\lambda\mu}}},\quad {{y(s)} = \frac{y_{0}}{s + \mu}},$

where y₀ is the initial condition. Then ${T(s)} = {\frac{y(s)}{y_{m}(s)} = {\frac{s + {\lambda\mu}}{s + \mu}.}}$

The performance of the above described second embodiment is illustrated by simulation results shown in FIGS. 15-18. FIGS. 15A-15F illustrate the response of a particular vehicle to a commanded bank-to-turn maneuver. FIG. 15A illustrates a vertical channel guidance command α_(CMD) (solid line) and the vehicle response of the previously described autopilot controller over a period of time from 0 to 20 seconds. In FIG. 15A, it can be seen that the simulated response (dashed line) tracks the command line very closely. FIG. 15B illustrates a horizontal guidance command β_(CMD) (solid line) and the simulated response of the previously described autopilot controller over the period of time from 0 to 20 seconds. FIG. 15C illustrates a roll channel guidance command φ_(CMD) (solid line) and the simulated response (dashed line) over the period of time from 0 to 20 seconds. FIG. 15D illustrates the longitudinal velocity of the vehicle along the x-axis over the period of time from 0 to 20 seconds. FIG. 15E illustrates an acceleration command corresponding to the z-axis (A_(Z CMD)—solid line) and the simulated response (dashed line) over the period of time from 0 to 20 seconds. In FIG. 15E, it can be seen that the simulated response (Az body sensor) tracks the command (Az body cmd) well, but exhibits a deviation during the time period of about 1 to 10 seconds. During this time period, the simulated body acceleration corresponding to the z-axis (Az body sensor) actually decreases from about −20 m/sec{circumflex over ( )}2 to about −16 m/sec{circumflex over ( )}2 and then returns to about −20 m/sec{circumflex over ( )}2. This decrease in z-axis acceleration can be attributed to the fact that the vehicle is approaching, entering and returning from the body post-stall region of operation. FIG. 15F illustrates the simulated response of the acceleration of the vehicle along the y-axis over the period of time from 0 to 20 seconds.

FIG. 16 illustrates the simulated autopilot's determination of the slope of the C_(Z) curve with respect to control surface deployment (CZdq) and the autopilot's determination of the slope of the Cm curve with respect to control surface deployment (Cmdq) during a commanded bank-to-turn maneuver from 0 to 20 seconds. It should be noted that a C_(Z) curve for a vehicle is typically the inverse of a C_(N) curve for the vehicle. Accordingly, a positive slope for a C_(Z) curve corresponds to a negative slope on a C_(N) curve. Accordingly, a positive slope for a C_(Z) curve indicates a stall condition. In FIG. 16, it can be seen that the slope of the C_(z) curve with respect to control surface deployment (CZdq) remains negative for the majority of the commanded bank-to-turn maneuver. However, during the time period from about 4 seconds to about 6 seconds, the slope of the C_(Z) curve with respect to control surface deployment (CZdq) is positive (i.e., above zero). Accordingly, during this time period, the vehicle is operating in the fin post-stall region. Additionally, it should be noted that the slope of the C_(m) curve with respect to control surface deployment (Cmdq) remains in the negative region (below zero) during the entire commanded bank-to-turn maneuver.

FIGS. 17A-17D illustrate how control surfaces respond to a commanded bank-to-turn maneuver. FIG. 17A illustrates the simulated response of an actuator (actuator #1) that controls a control surface that is parallel to the y-axis of the vehicle. During the time period of the commanded bank-to-turn maneuver (i.e. from 0 to 14 seconds), actuator #1 is commanded to deploy the control surface in a negative angular direction. FIG. 17B illustrates the simulated response of another actuator (actuator #2) that controls a control surface that is parallel to the z-axis of the vehicle. During the time period of the commanded bank-to-turn maneuver (i.e. from 0 to 14 seconds), actuator #2 remain undeployed with the exception of short deployments at the beginning of the commanded maneuver (when t≅0.5 seconds) and near the end of the commanded maneuver (when t≅14.5 seconds). FIG. 17C illustrates the simulated response of an actuator (actuator #3) that controls a control surface that is parallel to the y-axis of the vehicle, but is located on the opposite side of the vehicle from actuator #1. During the time period of the commanded bank-to-turn maneuver (i.e. from 0 to 14 seconds), actuator #3 is commanded to deploy the control surface in a positive angular direction. Finally, FIG. 17D illustrates the control commands P, Q and R corresponding to the three channels of the previously described second embodiment of the autopilot controller.

FIGS. 18A-18B illustrate another aspect of the present invention which is varying the gain of the autopilot controller as a function of system error. FIG. 18A illustrates a vertical guidance command α_(CMD) (solid line) and the simulated response (dashed line) of the autopilot controller over a period of time from 0 to 12 seconds. In FIG. 18A, it can be seen that the simulated response (dashed line) is critically damped with respect to both large and small changes in the vertical guidance command α_(CMD) (solid line). In order to achieve critically damped responses for both large and small command changes, the gain of the simulated autopilot controller is adjusted over time. FIG. 18B, illustrates the control gain k1 for the autopilot controller over time. As shown in the figure, the control gain varies instead of being held at a constant value. As discussed in the detailed description of the second embodiment above, one method for adjusting the control gain k1 is to make the control gain k1 a function of the difference between the command (alpha_cmd) and the simulated response (alpha). 3.0 Stall Condition Detector

Another aspect of the present invention is an autopilot controller which is capable of determining a stall condition of the vehicle based on current operating conditions such as angle of the attack α, the side slip angle β and the current control surface position δ. The present invention contemplates at least two approaches to determining the stall condition.

As noted above in regard to the first embodiment of the present invention, the autopilot controller is supplied with data corresponding to at least a portion of the C_(N), C_(Y), C_(A), C_(m), C_(l), and C_(yn) force and moment functions so that the partial derivative of the C function with respect to fin deflection can be determined as needed. Alternatively, the autopilot controller is supplied with data in the form of (∂C/∂δ, C_(intercept)) pairs, which are a function of the vehicle operating conditions. In either case, the stored data can be processed by suitable instructions by the processor 52 so as to determine ∂C/∂δ at the current vehicle operating conditions.

As discussed previously with regard to FIG. 8, at the point where the normal force C_(N) curve reaches its maximum value, the angle of attack of the fin is so great that the airflow no longer conforms to the surface of the wing and stall occurs. Thus, the stall point is where the slope of the normal force C_(N) curve is zero. Accordingly, by computing ∂C/∂δ for current vehicle operating conditions and by monitoring the value of the thus computed ∂C/∂δ, the stall condition of the fin can be detected by monitoring the sign of ∂C/∂δ. That is, when ∂C/∂δ is negative, the fin is operating in the post stall region; when ∂C/∂δ is positive the fin is operating in the pre stall region. Accordingly, based on the polarity determination of ∂C/∂δ, the processor 52 and/or the autopilot controller 40 can output a signal indicative of the stall condition determination.

A second approach for determining the stall condition of the vehicle is based on examination of the vertical axis intercept for the linear function. In FIG. 19, curve 60 illustrates a plot of the normal force C_(N) generated at the center of gravity of a vehicle as a function of the angle of deflection δ of the control fin, for a given angle of attack of the vehicle a, a given vehicle mach M, and a given vehicle side slip angle β. It should be noted that curve 60 has a maximum value of C_(N MAX) corresponding to fin deflection δ_(C). As described above in the slope-intercept method of providing one-to-one mapping, for a first fin deflection δ₁, which corresponds to a pre stall condition, a first linear function 74 a can be determined, which is tangent to curve 60 at point 72 a and which has a slope equal to the value of ∂C/∂δ at point 72 a. It should also be noted that the vertical axis intercept C_(N Intercept 1) for linear function 74 a is less than C_(N MAX). Similarly, for a second fin deflection δ₂, which corresponds to a post stall condition, a second linear function 74 b can be determined, which is tangent to curve 60 at point 72 b and which has a slope equal to the value of ∂C/∂δ at point 72 b. In contrast to the linear function 74 a, the vertical axis intercept C_(N Intercept 2) for the second linear function 74 b is greater than C_(N MAX).

Thus, because the value of C_(N MAX) corresponding to fin deflection bc for the given conditions will be known as a result of the data which are stored for controlling the vehicle, the present approach for determining the stall condition is to determine the vertical axis intercept at the current vehicle operating condition and to compare the vertical axis intercept at the current vehicle operating condition to the stored value of C_(N MAX). Where a linear function tangent to the C_(N) curve at the current operating point has a vertical axis intercept less than C_(N MAX), the current operating condition of the fin is in a pre stall condition. Where a linear function tangent to the C_(N) curve at the current operating point has a vertical axis intercept greater than C_(N MAX), the current operating condition of the fin is in a post stall condition. Accordingly, based on the comparison between the vertical axis intercept at the current vehicle operating condition and the stored value of C_(N MAX), the processor 52 and/or the autopilot controller 40 can output a signal indicative of the stall condition determination.

4.0 Stall Recovery System

Another aspect of the present invention is an autopilot controller which includes a stall detection and recovery capability. As noted above, an autopilot controller in accordance with the present invention is capable of controlling the vehicle in both pre stall and post stall regions, and can also be capable of detecting a stall condition of the vehicle. Accordingly, a third embodiment of the present invention, which is consistent with the previously described embodiments, is shown in FIG. 20 which includes a stall detection and recovery capability.

As noted above, FIG. 20 shows an embodiment of the present invention, which is similar to the embodiment shown in FIG. 4A, and which includes a stall recovery device 80. Like the embodiment shown in FIG. 4A, guidance commands, such as acceleration commands A_(Y) and A_(Z), are inputted to the autopilot controller 40 and can be transformed to angle of attack α_(CMD), side slip β_(CMD), and roll φ_(CMD) commands by the Y-Z to α-β converter 42 for processing in the autopilot controller 40. Signals from sensors 44 on the vehicle, which can include current vehicle acceleration data A_(Y ACT) and A_(Z ACT), vehicle body rate data P, Q and R, as well as air density ρ and vehicle airspeed u are also inputted to the autopilot controller 40 where they are transformed to angle of attack α_(ACT), side slip β_(ACT), and φ_(ACT) commands by an Y-Z to α-β converter 46. The commanded signals α_(CMD), β_(CMD), and φ_(CMD), as well as the density ρ and airspeed u data, together with stall status signal 82, are inputted to the stall recovery device 80. As will be explained later, in the event of a stall, the stall recovery device 80 modifies the inputted commands so as to cause the vehicle to recover from the stall. The modified commanded signals α′_(CMD), β′_(CMD), and φ′_(CMD) are output from the stall recovery device 80. These signals, as well as the signals corresponding to the current vehicle operating conditions, are compared in differencing device 48, and error signals ε_(α), ε_(β), and ε_(φ) are generated corresponding to the difference between the respective current operating conditions of the vehicle and the corresponding inputted commands.

As discussed above in regard to the embodiment illustrated in FIG. 4A, the processing unit 50 interprets the current vehicle operating conditions and the presently measured amount of error signal, and, based on stored information representing the vehicle aerodynamic response and other factors, computes control deflections δ_(r CMD), δ_(q CMD), and δ_(p CMD) appropriate for effecting the inputted commands A_(Y) and A_(Z). It should be noted that for the embodiment illustrated in FIG. 4A, as well as for the embodiment illustrated in FIG. 20, the signals from the sensors 44 on the vehicle, the current vehicle body rate data P, Q and R, as well as the current vehicle operating conditions α_(ACT) and β_(ACT), can be referred to singly or in combination as condition signals.

The stall recovery device 80 is shown in further detail in FIG. 21. As shown in FIG. 21, the stall recovery device 80 receives the incoming guidance signals, the stall signal 82, and other signals, such as air density ρ and vehicle air speed U. These incoming signals are received by a Az correction device 83 which also receives a modified vertical guidance command α′_(cmd) which will be explained more fully below. The Az correction device 83 transforms the vertical guidance command aCMD into a new acceleration command A_(Z NEW), corresponding to the Z axis, which is outputted by the Az correction device 83 and which is received by the roll correction device 84. Roll correction device 84 calculates a new roll channel command φ_(CMD NEW) on the basis of the new acceleration command A_(Z NEW) and the original acceleration command A_(Z) corresponding to the Z axis. Roll correction device 84 generates the new roll channel command φ_(CMD NEW) by performing the following steps. First, a ratio is generated by adding a gravitational constant g to the original acceleration command A_(Z) corresponding to the Z axis and dividing the sum by the new acceleration command A_(Z NEW). This calculation is illustrated by the following equation:

Ratio=(A _(Z) +g)/A _(Z NEW)  (3)

Second, a calculation is performed to determine if the ratio is greater than 1.0. If the ratio is greater than zero, then the ratio is reassigned the value of 1.0. Next, a calculation is performed to determine if the ratio is less than −1.0. If the ratio is less than −1.0, then the ratio is reassigned the value of −1.0. Finally, a new roll channel command φ_(CMD NEW) is generated by taking the arc cosine of the ratio. Roll correction device 84 then outputs a signal corresponding to the new roll channel command φ_(CMD NEW).

Next, the multiplying device 85 generates a new vertical guidance command α_(CMD NEW) and a new horizontal guidance command β_(CMD NEW). These new commands are generated by multiplying each of the vertical guidance command and the horizontal guidance command α_(cmd) and β_(cmd) by a specified factor. This calculation is illustrated in the following equations.

α_(cmd) _(—new) =factor*α_(cmd)  (4A)

β_(cmd) _(—new) =factor*β_(cmd)  (4B)

Next, the original guidance commands.(α_(CMD), β_(CMD), φ_(CMD)) and the new guidance commands (α_(CMD NEW), β_(CMD NEW), φ_(CMD NEW)) are provided to a selecting device 86. The selecting device 86 also receives as an input the stall signal 82 which represents the pre stall or post stall condition of the vehicle. When the stall signal 82 indicates that the aircraft is operating at the stall point or in the post stall region, the selecting device outputs the new guidance command signals (α_(CMD NEW), β_(CMD NEW), φ_(CMD NEW)) as output signals. On the other hand, when the stall signal 82 indicates that the vehicle is in the pre-stall region, the selecting device outputs the original guidance command signals (α_(CMD), β_(CMD), φ_(CMD)) as output signals. The output signals from the selecting device 86 are shown on FIG. 21 as modified vertical channel guidance command α′_(CMD), modified horizontal channel guidance command β′_(CMD), and modified roll channel guidance command φ′_(CMD). The modified vertical channel guidance command α′_(CMD) is provided as a feedback signal to the Az correction device 83 as described earlier.

The stall recovery device 80 can be configured so as to allow temporary operation in the post stall region before modifying the inputted commands to cause the vehicle to recover from the stall. In one embodiment, the stall recovery device 80 can be configured to delay stall recovery for a predetermined period of time to allow temporary operation in the post stall region. In another embodiment, because operation in a post stall region increases the drag produced by the control surface and thus tends to slow the vehicle, the stall recovery device 80 can be configured to delay stall recovery until a predetermined amount of decrease in airspeed is detected thereby allowing temporary operation in the post stall region.

The functions of the stall recovery device can be performed by a computing device such as a microprocessor or digital signal processor. Additionally, the functions of the autopilot controller embodiments previously described, as well as the additional functions of the stall recovery device, can both be performed by the same processor. Accordingly, the autopilot controller architecture shown in FIG. 4B is also appropriate for the case where a stall recovery procedure is included.

5.0 Memory Device and Computer Program

As aspects of the present invention can be implemented in software running on a computing device, the present invention is considered to include not only an autopilot controller per se, but a memory device having stored executable instructions therein for use with an autopilot, as well as a computer program which includes executable instructions suitable to implement the inventive control process when executed by an appropriate processing device.

FIGS. 22A and 22B illustrate the steps followed by an implementation of the present embodiment in a computer program in accordance with the above disclosure. FIG. 22A illustrates a first step S1 where an inputted command is received, at which time the current vehicle operating conditions are determined in step S2. Based on the current operating conditions, and based on the stored data corresponding to, or representative of, the C_(N), C_(Y), C_(A), C_(m), C_(l), and C_(yn) force and moment functions, the corresponding (∂C/∂δ, C_(intercept)) pair is then determined in the step S3. Given the (∂C/∂δ, C_(intercept)) pair corresponding to the current operating conditions, the linear function C=(∂C/∂δ)·δ+C_(intercept) from which the outputted fin deflection will ultimately be determined is determined in the next step S4. FIG. 22A illustrates an embodiment of the present invention which includes a selectable stall recovery mode. Thus, in the next step S5, the inquiry is made as to whether the stall recovery mode has been set. If the stall recovery mode is not set in step S5 (NO),the flow chart skips to step S6. If the stall recovery mode is set in step S5 (YES), then a second inquiry is made in step S51 as to whether the fin (or other control surface) is presently at the stall point or in a post stall region. If the fin is in the pre stall region, the processing flows to step S6. If the fin is at the stall point or in a post stall region, then at step S52 the originally inputted command is modified so as to effect a stall recovery and the processing continues to step S6 with the inputted command thus modified.

Having determined, based on the stall recovery subroutine, whether the originally inputted command or a modified inputted command is to be used, the processing proceeds to step S6. At step S6, the inputted command or a modified inputted command is compared to the linear function and a target fin deflection δ_(target) is determined, which is suitable for effecting the commanded maneuver. As shown in FIG. 22B, given the target fin deflection δ_(target), which is determined in step S6, the fin output commands are determined in steps S61-S64 to increase, decrease or make no change in the fin position, so as to effect the commanded maneuver. Finally, after each iteration of the processing described above in steps S1-S7 is completed, the processing returns to step S1 so that steps S1-S7 are continually repeated in an iterative manner.

6.0 Static Controller

As discussed in sections 1.0 and 2.0 above, one issue with the approach of controlling the vehicle based on the vehicle response characteristics which correspond to the C_(N) normal force occurs at the point of stall at which point ∂C_(N)/∂δ is zero. Thus, at stall, a singularity occurs in the vehicle dynamic response function. As will be described in this section, another aspect of the current invention is controlling the vehicle at, and near, the stall point by controlling the normal force C_(N) acting on the vehicle based on the vehicle body pitch moment C_(m) response characteristics. As the following will more fully explain, use of the body pitch moment characteristics, in lieu of the C_(N) normal force response characteristics, avoids the problem with a singularity in the C_(N) response function at the stall point.

FIGS. 23A-23H illustrate the response of a particular vehicle to a commanded maneuver in a controller which is susceptible to the problem of a singularity in the dynamic response function at the stall point. FIG. 23A illustrates a vertical channel guidance command α_(CMd) (solid line) and the vehicle response of the previously described autopilot controller over a period of time from 0 to 7 seconds. In FIG. 23A, it can be seen that the simulated response (dashed line) tracks the command line very closely except for the period approximately between five and six seconds. FIG. 23B illustrates a horizontal guidance command β_(CMD) (solid line) and the simulated response (dashed line) of the previously described autopilot controller over the period of time from 0 to 7 seconds. FIG. 23C illustrates a roll channel guidance command φ_(CMD) (solid line) and the simulated response (dashed line) over the period of time from 0 to 7 seconds. FIGS. 23D-23F illustrate the roll, pitch and yaw control commands, respectively, (previously referred to as control deflections δ_(r CMD)) δ_(q CMD), and δ_(p CMD)) during the period of time from 0 to 7 seconds. FIG. 23G illustrates an acceleration command corresponding to the z-axis (A_(Z CMD)—solid line) and the simulated response (dashed line) over the period of time from 0 to 7 seconds. In FIG. 23G, it can be seen that the simulated response (Az body sensor) tracks the command (Az body cmd) well, but exhibits a deviation following the time of about 4.8 seconds. During this time period, the simulated body acceleration corresponding to the z-axis (Az body sensor) jumps from approximately zero up to about 80 m/sec{circumflex over ( )}2 and then falls to about −340 m/sec2. This jump in z-axis acceleration can be attributed to the fact that the vehicle is entering a fin stall region of operation. FIG. 23H illustrates the simulated response of the acceleration of the vehicle along the y-axis over the period of time from 0 to 7 seconds.

FIG. 24A illustrates the simulation results where the autopilot's determination of the slope of the C_(Z) curve with respect to control surface deployment (CZdq) and the autopilot's determination of the slope of the C_(m) curve with respect to control surface deployment (Cmdq) are shown during the same maneuver illustrated in FIGS. 23A-23 H. It should be noted that a C_(Z) curve for a vehicle is typically the inverse of a C_(N) curve for the vehicle. Accordingly, a positive slope for a C_(Z) curve corresponds to a negative slope on a C_(N) curve. Accordingly, a positive slope for a C_(Z) curve indicates a stall condition. In FIG. 24A, it can be seen that the slope of the C_(Z) curve with respect to control surface deployment (CZdq) goes positive for a portion of the maneuver between 4.5 and 6.2 seconds. However, it should be noted that during the time period from about 4.5 seconds to about 5.2 seconds where the slope of the C_(Z) curve with respect to control surface deployment (CZdq) is positive (i.e., above zero), the slope of the C_(m) curve with respect to control surface deployment (Cmdq) remains in the negative region (below zero).

FIGS. 24B-24D illustrate how three control surfaces are actuated for the maneuver described above and illustrated in FIGS. 23A-23H and 24A. FIG. 24B illustrates the simulated response of an actuator (actuator #1) that controls a control surface that is parallel to the y-axis of the vehicle. FIG. 24C illustrates the simulated response of another actuator (actuator #2) that controls a control surface that is parallel to the z-axis of the vehicle. FIG. 24D illustrates the simulated response of an actuator (actuator #3) that controls a control surface that is parallel to the y-axis of the vehicle, but is located on the opposite side of the vehicle from actuator #1. Each of plots 24B-24D includes the outputted fin command (solid line) and the simulated response of the fin actuator (dashed line).

As noted above, at the point of stall, a singularity occurs in the dynamic response function so that the solution of the response function becomes undefined. A result of the singularity can be seen in the outputted fin commands shown in FIGS. 24B-24D. In each of the three plots, as a result of the singularity in the dynamic response function, the outputted fin command become erratic for the time period between about 4.5 and 6.2 seconds during which time the vehicle is at or near stall.

It should be noted, in the illustrated simulation, that the frequency response of the modeled fin actuator is lower than the outputted frequency of the command signal. Accordingly, while the amplitude of the outputted command signal (solid line) varies widely during the time period of about 4.5 to 6.2 seconds, the amplitude of the response of the actuator (dashed line) varies much less dramatically. Accordingly, as illustrated in FIGS. 24B-24D, the fin actuator may act like a low-pass frequency filter for the command signal.

As a result of the fin command oscillations, control of the vehicle may be lost. Accordingly, it is desirable to minimize or eliminate such oscillations in the fin commands.

As discussed in Section 2.0, the dynamic response of the vehicle can be expressed mathematically such as in equation (16) (or such as in equation (18) where the aerodynamic function has been rewritten in slope and intercept format). As noted in Section 2.0, these expressions, and variations on these expressions, can be used to determine a fin deflection suitable for achieving a desired amount of force acting on the vehicle. However, because these expressions include the term C′_(Zδq) (the slope of the fin aerodynamic function) which goes to zero at stall, a singularity problem with the dynamic response function occurs at the point of stall.

Accordingly, as further discussed in Section 2.0, according to another aspect of the present invention, an approach which avoids the problem with the singularity at the point of stall is to use a control approach based on the vehicle body pitch moment response characteristics. In the following discussion, the control approach based on the body pitch moment response characteristics is termed the “static” controller.

The approach of the static controller is to neglect all of the terms in equation (18) which are multiplied by C′_(Zδq) and, by using equation (8) for the moment M, and by substituting a slope-intercept format for the moment-based aerodynamic function, a closed form solution for the fin deflection may be obtained as expressed in equation (20).

The closed form solution of equation (20) provides a relationship between the amount of the current error signal (i.e., the difference between the presently received command and the current condition of the vehicle) and the fin deflection which would be suitable to effect the received command. It should be noted that the closed form solution of equation (20) does not depend on C′_(Zδq) (the slope of the force-based aerodynamic response function). Thus, because C′_(Zδq) has been removed from the expression, the problem with the dynamic response function having a singularity at the point of stall is avoided. Instead of the slope of the force-based aerodynamic response function, the expression of equation (20) includes only the C_(N) Intercept vehicle characteristics and the Cm moment-related vehicle characteristics, both of which are non-zero at the stall point.

Like the dynamic vehicle response function of equation (18), the static response function of equation (20) does not provide one-to-one mapping between a given force or moment which is received as an inputted command and a corresponding fin deflection which should be outputted for achieving the desired force or moment. Accordingly, even when body pitch moment control is used, one of the one-to-one mapping techniques described above in section 1.2 is still required so that the autopilot controller can have some mechanism for determining which one of the plurality of potentially suitable fin deflection angles should be outputted. Because the approaches for providing one-to-one mapping are described in detail in Section 1.2, a duplicate description at this point is omitted.

As discussed in Section 2.4.1, the performance of the static controller is particularly close to the performance of the dynamic controller when the damping term (which is proportional to the fin moment arm) of the response function is sufficiently large. In this situation, for a given force received as an inputted command, the outputted control command determined by either the dynamic or static approach are nearly equivalent.

FIG. 25 is a plot of the outputted fin deflection command for the maneuver depicted in FIGS. 23A-23H and 24A-24D. As is apparent from FIG. 25, the outputted control command based on the dynamic approach (solid line) is nearly equivalent to the outputted control command based on the static approach (dashed line).

As noted previously, the static response function of equation (20) has a singularity where the slope of Cm goes to zero. The point of zero slope of Cm, however, is not coincident with the point of fin stall of the vehicle. Accordingly, any control instability which results from a zero slope of the moment-based expression is away from the point of stall of the vehicle. Thus, the problem described above of oscillations in the fin control commands for the dynamic controller at the point of stall can be avoided.

The static controller is more fully described next in reference to FIGS. 26A-26F. FIGS. 26A-26F illustrate the response of a particular vehicle to the same commanded maneuver depicted in FIGS. 23A-23F but where an autopilot in accordance with the static controller is used.

FIG. 26A illustrates a vertical channel guidance command α_(CMD) (solid line) and the vehicle response of the previously described autopilot controller over a period of time from 0 to 8 seconds. In FIG. 26A, it can be seen that the simulated response (dashed line) tracks the command line very closely. FIG. 26B illustrates a horizontal guidance command β_(CMD) (solid line) and the simulated response (dashed line) of the previously described autopilot controller over the period of time from 0 to 8 seconds. FIG. 26C illustrates a roll channel guidance command φ_(CMD) (solid line) and the simulated response (dashed line) over the period of time from 0 to 8 seconds. FIG. 26D illustrates the p, q, and r control commands (previously referred to as control deflections δ_(r CMD), δ_(q CMD), and δ_(p CMD)) during the period of time from 0 to 8 seconds. FIG. 26E illustrates an acceleration command corresponding to the z-axis (A_(Z CMD)—solid line) and the simulated response (dashed line) over the period of time from 0 to 8 seconds. In FIG. 26E, it can be seen that the simulated response (Az body sensor) tracks the command (Az body cmd) well, including during the time period of about 4.0 to 5.0 seconds where, as will be explained later, a fin stall occurs. FIG. 26F illustrates the simulated response of the acceleration of the vehicle along the y-axis over the period of time from 0 to 8 seconds.

FIG. 27A illustrates the simulation results where the autopilot's determination of the slope of the C_(Z) curve with respect to control surface deployment (CZdq) and the autopilot's determination of the slope of the Cm curve with respect to control surface deployment (Cmdq) are shown during the same maneuver illustrated in FIGS. 26A-26F. As noted previously, a C_(Z) curve for a vehicle is typically the inverse of a C_(N) curve for the vehicle. Accordingly, a positive slope for a C_(Z) curve corresponds to a negative slope on a C_(N) curve. Accordingly, a positive slope for a C_(Z) curve indicates a stall condition. In FIG. 27A, it can be seen that the slope of the C_(Z) curve with respect to control surface deployment (CZdq) goes positive for a portion of the maneuver between 4.8 and 6.4 seconds. However, it should be noted that during this same time period, where the slope of the C_(Z) curve with respect to control surface deployment (CZdq) is positive (i.e., above zero), the slope of the C_(m) curve with respect to control surface deployment (Cmdq) remains in the negative region (below zero). Additionally, during the time of approximately 4.8 to 6.4 seconds, the Az body acceleration shown in FIG. 26E does not show the drop off as found in the dynamic controller simulation shown in FIG. 23E. Thus, the simulation shown in FIGS. 26A-26F illustrate that by use of the static controller, the vehicle may be flown through the point of stall without loss of control or control command oscillations.

FIGS. 27B-27D illustrate how three control surfaces are actuated for the maneuver described above and illustrated in FIGS. 26A-26F and 27A. FIG. 27B illustrates the simulated response of an actuator (actuator #1) that controls a control surface that is parallel to the y-axis of the vehicle. FIG. 27C illustrates the simulated response of another actuator (actuator #2) that controls a control surface that is parallel to the z-axis of the vehicle. FIG. 27D illustrates the simulated response of an actuator (actuator #3) that controls a control surface that is parallel to the y-axis of the vehicle, but is located on the opposite side of the vehicle from actuator #1. Each of plots 27B-27D includes the outputted fin command (solid line) and the simulated response of the fin actuator (dashed line). Each of FIGS. 27B-27D includes the outputted fin command (solid line) and the simulated response of the fin actuator (dashed line).

FIG. 28A illustrates, for a shorter time period, the simulation results depicted in FIG. 27A. Specifically, FIG. 28A illustrates, for an approximately one second time period, the simulation results of the autopilot's determination of the slope of the C_(Z) curve with respect to control surface deployment (CZdq) and the autopilot's determination of the slope of the C_(m) curve with respect to control surface deployment (Cmdq) for the same maneuver illustrated in FIGS. 26A-26F.

FIG. 28B illustrates, for a shorter time period, the simulation results depicted in FIG. 27D. Specifically, FIG. 28B illustrates, for an approximately one second time period, the simulated response of an actuator (actuator #3) that controls a control surface that is parallel to the y-axis of the vehicle, but is located on the opposite side of the vehicle from actuator #1. As can be seen in FIG. 28B, the amplitude of the response of an actuator (Act_fin3) is lower than the amplitude of the outputted fin command signal (fin3_cmd) due to the frequency response of the fin actuator.

As noted above, at the point of stall, a singularity occurs in the dynamic response function so that the solution of the dynamic response function becomes undefined. Similarly, at a point in the post stall region, a singularity occurs in the static response function so that the solution of the static response function becomes undefined. A result of the singularity in the static response function can be seen in the outputted fin commands shown in FIGS. 27B-27D. In each of the three plots, as a result of the singularity in the static response function, the outputted fin command become erratic for the time period between about 6.0 and 6.4 seconds during which time the vehicle is operating in the post stall region.

According to yet another aspect of the present invention, by selectively mixing the control techniques between the dynamic control in accordance with equation (18) and the static control in accordance with equation (20) depending on the current flight regime of the vehicle, the vehicle can be controlled across the entire range of the pre-stall region, the stall region and the post-stall region without encountering the erratic oscillations in the outputted fin command which result from a singularity in the control response function.

Specifically, as described more fully below, by switching between controlling the vehicle based on the dynamic controller of equation (18) when the vehicle is not near a stall condition and controlling the vehicle based on the static controller of equation (20) when the vehicle is near a stall condition, the singularities which affect each of the dynamic and static controllers can be avoided across the entire range of the pre-stall region, the stall region and the post-stall region.

As described in Section 4.0 above, one aspect of the present invention includes a stall detection and recovery device. The stall detection device employs signals from sensors 44 on the vehicle, which can include current vehicle acceleration data A_(Y ACT) and A_(Z ACT), vehicle body rate data P, Q and R, as well as air density ρ and vehicle airspeed u are also inputted to the autopilot controller 40 where they are transformed to angle of attack α_(ACT), side slip β_(ACT), and φ_(ACT) commands by an Y-Z to α-β converter 46. The processing unit 50 interprets the current vehicle operating conditions and, based on stored information representing the vehicle aerodynamic response, determines which of a pre stall condition, a stall condition and a post stall condition is a current condition of the vehicle.

Additionally, because the processing unit 50 is supplied with the vehicle aerodynamic response characteristics across the pre-stall region, the stall region and the post-stall region, the current condition of the vehicle can be assessed to determine not only if the current condition is a pre stall condition, a stall condition or a post stall condition, but if the current condition of the vehicle is close to any other one of these conditions. Thus, it is possible, for instance, for the processing unit 50 to determine that a current condition of the vehicle is a pre stall condition and additionally that the vehicle is near a stall condition.

Thus, based on the detected pre stall condition, stall condition or post stall condition of the vehicle, as well as the proximity of the current vehicle condition to another one of these stall conditions, the processor can selectively employ either the dynamic controller or the static controller for controlling the vehicle. By selectively employing either the dynamic controller or the static controller for controlling the vehicle so as to avoid application of either one in a flight regime where the selected controller will experience a control singularity, erratic oscillations in the outputted fin command resulting from a singularity in the control response function can be avoided altogether.

A preferred mixing approach according to the present invention switches control from the dynamic controller to the static controller before entering the stall region and switches back to the dynamic controller after entering the post stall region. Preferably, the switching is implemented both in forward as well as reverse directions so that as the vehicle moves from the post stall region to the stall region and finally back to the pre stall region the appropriate controller is selected for these flight regimes. Additionally, the switching between the dynamic and static controllers in both directions can be implemented with some hysteresis so that for a given vehicle operating condition, the determination of which controller to apply does not oscillate between the dynamic controller and the static controller.

Although the present invention has been fully described by way of examples and with reference to the accompanying drawings, it is to be understood that various changes and modifications will be apparent to those skilled in the art without departing from the spirit and scope of the invention. Therefore, unless such changes and modifications depart from the scope of the present invention, they should be construed as being included therein. 

That which is claimed is:
 1. An autopilot controller suitable for controlling a vehicle, traveling in a fluid medium, in response to a commanded maneuver, said controller being capable of controlling said vehicle in a pre-stall region, a stall region and a post-stall region, said vehicle having a control surface, said controller comprising: a storage device for storing data corresponding to a model of vehicle response characteristics, said model including vehicle response characteristics for said pre-stall region, said stall region and said post-stall region, said stored data corresponding to an amount of moment generated about a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface; an input device for receiving at least one condition signal, each condition signal being representative of a current vehicle operating condition; an error signal generating device for generating, based on said at least one condition signal, an error signal indicative of a difference between said commanded maneuver and said at least one condition signal; and a determining device for determining, based on said stored data, said at least one condition signal, and said error signal, a deflection for said control surface which would currently be suitable to effect at least a portion of the commanded maneuver; wherein said commanded maneuver is a maneuver requiring a change in transverse acceleration of said vehicle, and wherein said determining device determines said deflection for said control surface so as to initially generate a moment about the center of gravity of the vehicle.
 2. An autopilot controller in accordance with claim 1, wherein, in the case of a commanded maneuver for which any one of a plurality of deflections for said control surface would currently be suitable to effect at least a portion of the commanded maneuver, said determining device determines only one of said plurality of currently suitable deflections for said control surface to effect at least a portion of the commanded maneuver.
 3. An autopilot controller in accordance with claim 1, wherein said model is a coupled, multiple degree-of-freedom, non-linear model.
 4. A method for controlling a vehicle, traveling in a fluid medium, in response to a commanded maneuver, said method being suitable for controlling said vehicle in a pre-stall region, a stall region and a post-stall region, said vehicle having a control surface, said method comprising the steps of: providing data corresponding to a model of vehicle response characteristics, said model including vehicle response characteristics for said pre-stall region, said stall region and said post-stall region, said data corresponding to an amount of moment generated about a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface; receiving at least one condition signal, each condition signal being representative of a current vehicle operating condition; generating, based on said at least one condition signal, an error signal indicative of a difference between said commanded maneuver and said at least one condition signal; and determining, based on said stored data, said at least one condition signal, and said error signal, a deflection for said control surface which would currently be suitable to effect at least a portion of the commanded maneuver; wherein said commanded maneuver is a maneuver requiring a change in transverse acceleration of said vehicle, and wherein said determining step determines said deflection for said control surface so as to initially generate a moment about the center of gravity of the vehicle.
 5. A method in accordance with claim 4, wherein, in the case of a commanded maneuver for which any one of a plurality of deflections for said control surface would currently be suitable to effect at least a portion of the commanded maneuver, said determining step determines only one of said plurality of currently suitable deflections for said control surface to effect at least a portion of the commanded maneuver.
 6. An autopilot controller in accordance with claim 4, wherein said model is a coupled, multiple degree-of-freedom, non-linear model.
 7. An autopilot controller suitable for controlling a vehicle, traveling in a fluid medium, in response to a commanded maneuver, said controller being capable of controlling said vehicle in a pre-stall region, a stall region and a post-stall region, said vehicle having a control surface, said controller comprising: a storage device for storing data corresponding to a model of vehicle response characteristics, said model including vehicle response characteristics for said pre-stall region, said stall region and said post-stall region, said stored data corresponding to an amount of force generated at a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface, said stored data further corresponding to an amount of moment generated about a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface; an input device for receiving at least one condition signal, each condition signal being representative of a current vehicle operating condition; an error signal generating device for generating, based on said at least one condition signal, an error signal indicative of a difference between said commanded maneuver and said at least one condition signal; a stall condition detecting device for detecting, based on said stored data and said at least one condition signal, when a current condition of said vehicle is near a stall condition; and a determining device for determining, based on said stored data, said at least one condition signal, and said error signal, a deflection for said control surface which would currently be suitable to effect at least a portion of the commanded maneuver; wherein, in the case of a commanded maneuver for which any one of a plurality of deflections for said control surface would currently be suitable to effect at least a portion of the commanded maneuver, said determining device determines only one of said plurality of currently suitable deflections for said control surface to effect at least a portion of the commanded maneuver.
 8. An autopilot controller in accordance with claim 7, wherein said at least one condition signal includes signals representative of a current acceleration of said vehicle and a current amount of deflection for said control surface.
 9. An autopilot controller in accordance with claim 7, wherein said model is a coupled, multiple degree-of-freedom, non-linear model.
 10. An autopilot controller in accordance with claim 7, wherein said determining device determines said deflection for said control surface based on both said stored data corresponding to an amount of force and said stored data corresponding to an amount of moment when the vehicle is not near a stall condition, and said determining device determines said deflection for said control surface based on said stored data corresponding to only an amount of moment when the vehicle is near a stall condition.
 11. An autopilot controller in accordance with claim 7, wherein said stall condition detecting device further detects, based on said stored data and said at least one condition signal, which of a pre stall condition, a stall condition and a post stall condition is a current condition of said vehicle; and a stall recovering device, responsive to said stall condition detecting device, for recovering from either one of a stall condition and a post stall condition.
 12. An autopilot controller in accordance with claim 7, wherein said commanded maneuver is a maneuver requiring a change in transverse acceleration of said vehicle.
 13. A method for controlling a vehicle, traveling in a fluid medium, in response to a commanded maneuver, said method being suitable for controlling said vehicle in a pre-stall region, a stall region and a post-stall region, said vehicle having a control surface, said method comprising the steps of: providing data corresponding to a model of vehicle response characteristics, said model including vehicle response characteristics for said pre-stall region, said stall region and said post-stall region, said data corresponding to an amount of force generated at a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface, said data in further corresponding to an amount of moment generated about a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface; receiving at least one condition signal, each condition signal being representative of a current vehicle operating condition; generating, based on said at least one condition signal, an error signal indicative of a difference between said commanded maneuver and said at least one condition signal; ascertaining, based on said stored data and said at least one condition signal, when a current condition of said vehicle is near a stall condition; and determining, based on said stored data, said at least one condition signal, and said error signal, a deflection for said control surface which would currently be suitable to effect at least a portion of the commanded maneuver; wherein, in the case of a commanded maneuver for which any one of a plurality of deflections for said control surface would currently be suitable to effect at least a portion of the commanded maneuver, said step of determining determines only one of said plurality of currently suitable deflections for said control surface to effect at least a portion of the commanded maneuver.
 14. A method in accordance with claim 13, wherein said at least one condition signal includes signals representative of a current acceleration of said vehicle and a current amount of deflection for said control surface.
 15. A method in accordance with claim 13, wherein said model is a coupled, multiple degree-of-freedom, non-linear model.
 16. An autopilot controller in accordance with claim 13, wherein, when the vehicle is not near a stall condition, said determining step includes determining said deflection for said control surface based on both said data corresponding to an amount of force and said data corresponding to an amount of moment, and, when the vehicle is near a stall condition, said determining step includes determining said deflection for said control surface based on said data corresponding to only an amount of moment.
 17. An autopilot controller in accordance with claim 13, wherein said commanded maneuver is a maneuver requiring a change in transverse acceleration of said vehicle.
 18. A recording medium, having computer executable instructions stored therein, for controlling a vehicle, traveling in a fluid medium, in response to a commanded maneuver, said method being capable of controlling said vehicle in a pre-stall region, a stall region and a post-stall region, said vehicle having a control surface, said computer executable instructions comprising instructions for: reading data corresponding to a model of vehicle response characteristics, said model including vehicle response characteristics for said pre-stall region, said stall region and said post-stall region, said data corresponding to an amount of force generated at a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface, said data further corresponding to an amount of moment generated about a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface; receiving at least one condition signal, each condition signal being representative of a current vehicle operating condition; generating, based on said at least one condition signal, an error signal indicative of a difference between said commanded maneuver and said at least one condition signal; ascertaining, based on said stored data and said at least one condition signal, when a current condition of said vehicle is near a stall condition; and determining, based on said stored data, said at least one condition signal, and said error signal, a deflection for said control surface which would currently be suitable to effect at least a portion of the commanded maneuver; wherein, in the case of a commanded maneuver for which any one of a plurality of deflections for said control surface would currently be suitable to effect at least a portion of the commanded maneuver, said step of determining determines only one of said plurality of currently suitable deflections for said control surface to effect at least a portion of the commanded maneuver.
 19. A computer program product in accordance with claim 18, wherein said commanded maneuver is a maneuver requiring a change in transverse acceleration of said vehicle.
 20. An autopilot controller suitable for controlling a vehicle, traveling in a fluid medium, in response to a commanded maneuver, said controller being capable of controlling said vehicle in a pre-stall region, a stall region and a post-stall region, said vehicle having a control surface, said controller comprising: a storage device for storing data corresponding to a model of vehicle response characteristics, said model including vehicle response characteristics for said pre-stall region, said stall region and said post-stall region; an input device for receiving at least one condition signal, each condition signal being representative of a current vehicle operating condition; an error signal generating device for generating, based on said at least one condition signal, an error signal indicative of a difference between said commanded maneuver and said at least one condition signal; and a determining device for determining, based on said stored data, said at least one condition signal, and said error signal, a deflection for said control surface which would currently be suitable to effect at least a portion of the commanded maneuver; wherein, in the case of a commanded maneuver for which any one of a plurality of deflections for said control surface would currently be suitable to effect at least a portion of the commanded maneuver, said determining device determines only one of said plurality of currently suitable deflections for said control surface to effect at least a portion of the commanded maneuver.
 21. An autopilot controller in accordance with claim 20, wherein said at least one condition signal includes signals representative of a current acceleration of said vehicle and a current amount of deflection for said control surface.
 22. An autopilot controller in accordance with claim 20, wherein said model is a coupled, multiple degree-of-freedom, non-linear model.
 23. An autopilot controller in accordance with claim 22, wherein said model corresponds to an amount of force generated at a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface.
 24. An autopilot controller in accordance with claim 22, wherein said model corresponds to an amount of moment generated about a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface.
 25. An autopilot controller in accordance with claim 22, wherein said model corresponds to an amount of force generated at a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface and to an amount of moment generated about a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface; and wherein said determining device determines said deflection for said control surface based on said stored data corresponding to an amount of moment when the vehicle is near a stall condition and said determining device determines said deflection for said control surface based on said stored data corresponding to an amount of force when the vehicle is not near a stall condition.
 26. An autopilot controller in accordance with claim 20, firther comprising: a stall condition detecting device for detecting, based on said stored data and said at least one condition signal, which of a pre stall condition, a stall condition and a post stall condition is a current condition of said vehicle; and a stall recovering device, responsive to said stall condition detecting device, for recovering from either one of a stall condition and a post stall condition.
 27. An autopilot controller in accordance with claim 20, wherein said model includes data representative of (∂C/∂δ, C_(intercept)) pairs which are a function of possible vehicle operating conditions and possible deflections for a control surface, and wherein said computing device computes said deflection for said control surface in response to a commanded maneuver in accordance with a vehicle response characteristic of the form C=(∂C/∂δ)·δ+C_(intercept); where: ∂C/∂δ is a rate of change, with respect to said deflection for said control surface, of force generated at a center of gravity of said vehicle at said current vehicle operating condition; and C_(intercept) is a force intercept for a linear function which is tangent to a C force function at said current vehicle operating condition and which has a slope equal to ∂C/∂δ.
 28. An autopilot controller in accordance with claim 20, wherein said model includes data representative of (∂C/∂δ, C_(intercept)) pairs which are a function of possible vehicle operating conditions and possible deflections for said control surface, and wherein said computing device computes said deflection for said control surface in response to a commanded maneuver in accordance with a vehicle response characteristic of the form C=(∂C/∂δ)·δ+C_(intercept); where: ∂C/∂δ is a rate of change, with respect to said deflection for said control surface, of a moment generated about a center of gravity of said vehicle at said current vehicle operating condition; and C_(intercept) is a moment intercept for a linear function which is tangent to a C moment function at said current vehicle operating condition and which has a slope equal to ∂C/∂δ.
 29. A method for controlling a vehicle, traveling in a fluid medium, in response to a commanded maneuver, said method being capable of controlling said vehicle in a pre-stall region, a stall region and a post-stall region, said vehicle having a control surface, said method comprising the steps of: providing data corresponding to a model of vehicle response characteristics, said model including vehicle response characteristics for said pre-stall region, said stall region and said post-stall region; receiving at least one condition signal, each condition signal being representative of a current vehicle operating condition; generating, based on said at least one condition signal, an error signal indicative of a difference between said commanded maneuver and said at least one condition signal; and determining, based on said stored data, said at least one condition signal, and said error signal, a deflection for said control surface which would currently be suitable to effect at least a portion of the commanded maneuver; wherein, in the case of a commanded maneuver for which any one of a plurality of deflections for said control surface would currently be suitable to effect at least a portion of the commanded maneuver, said step of determining determines only one of said plurality of currently suitable deflections for said control surface to effect at least a portion of the commanded maneuver.
 30. A method in accordance with claim 29, wherein said at least one condition signal includes signals representative of a current acceleration of said vehicle and a current amount of deflection for said control surface.
 31. A method in accordance with claim 29, wherein said model is a coupled, multiple degree-of-freedom, non-linear model.
 32. A method in accordance with claim 31, wherein said model corresponds to an amount of force generated at a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface.
 33. A method in accordance with claim 31, wherein said model corresponds to an amount of moment generated about a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface.
 34. A method in an autopilot controller for generating a one-to-one mapping between an inputted moment command and a outputted control surface deflection command controller based on a model of vehicle response characteristics, including vehicle response characteristics for a pre-stall region, a stall region and a post-stall region, said method comprising the steps of: providing, based on said model, data representative of (∂C/∂δ, C_(intercept)) pairs as a function of possible vehicle operating conditions and possible deflections for a control surface, for said pre-stall region, said stall region and said post-stall region, determining at least one current operating condition of said vehicle; selecting a specific (∂C/∂δ, C_(intercept)) pair corresponding to said at least one current operating condition of said vehicle; and generating, based on said specific (∂C/∂δ, C_(intercept)) pair, a relationship of the form C=(∂C/∂δ)·δ+C_(intercept); where: C is a value of a moment corresponding to said moment command; δ is a value of a deflection for said control surface corresponding to said control surface deflection command; ∂C/∂δ is a rate of change, with respect to said deflection for said control surface, of a function C corresponding to a moment generated about a center of gravity of said vehicle as a function of possible vehicle operating conditions and possible deflections for said control surface, said function C being evaluated at said at least one current operating condition; and C_(intercept) is a moment intercept for a linear function which is tangent to said C function at said current vehicle operating condition and which has a slope equal to ∂C/∂δ. 